Skip to content

Commit 83cd534

Browse files
Copilott-b
andcommitted
Use GetSupportedWaveTypes data generator for IsXXXWave tests
Co-authored-by: t-b <[email protected]>
1 parent 96aedd4 commit 83cd534

File tree

1 file changed

+174
-70
lines changed

1 file changed

+174
-70
lines changed

Packages/tests/Basic/UTF_Utils_Checks.ipf

Lines changed: 174 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -726,110 +726,195 @@ End
726726
/// IsTextWave
727727
/// @{
728728

729-
Function ITW_Works()
730-
731-
Make/FREE/T wvText
732-
CHECK(IsTextWave(wvText))
733-
734-
Make/FREE/D wvDouble
735-
CHECK(!IsTextWave(wvDouble))
736-
737-
Make/FREE/I wvInt
738-
CHECK(!IsTextWave(wvInt))
739-
740-
Make/FREE/R wvSingle
741-
CHECK(!IsTextWave(wvSingle))
729+
// UTF_TD_GENERATOR s0:DataGenerators#GetSupportedWaveTypes
730+
Function ITW_Works([STRUCT IUTF_mData &m])
731+
732+
string typeStr
733+
variable type
734+
735+
typeStr = m.s0
736+
737+
strswitch(typeStr)
738+
case "TEXT_WAVE":
739+
Make/FREE/T wv
740+
CHECK(IsTextWave(wv))
741+
break
742+
case "WAVE_WAVE":
743+
Make/FREE/WAVE wv
744+
CHECK(!IsTextWave(wv))
745+
break
746+
default:
747+
type = WaveTypeStringToNumber(typeStr)
748+
Make/FREE/Y=(type) wv
749+
CHECK(!IsTextWave(wv))
750+
break
751+
endswitch
742752
End
743753

744754
/// @}
745755

746756
/// IsNumericWave
747757
/// @{
748758

749-
Function INW_Works()
750-
751-
Make/FREE/D wvDouble
752-
CHECK(IsNumericWave(wvDouble))
759+
// UTF_TD_GENERATOR s0:DataGenerators#GetSupportedWaveTypes
760+
Function INW_Works([STRUCT IUTF_mData &m])
753761

754-
Make/FREE/I wvInt
755-
CHECK(IsNumericWave(wvInt))
762+
string typeStr
763+
variable type
756764

757-
Make/FREE/R wvSingle
758-
CHECK(IsNumericWave(wvSingle))
765+
typeStr = m.s0
759766

760-
Make/FREE/T wvText
761-
CHECK(!IsNumericWave(wvText))
767+
strswitch(typeStr)
768+
case "TEXT_WAVE":
769+
Make/FREE/T wv
770+
CHECK(!IsNumericWave(wv))
771+
break
772+
case "WAVE_WAVE":
773+
Make/FREE/WAVE wv
774+
CHECK(!IsNumericWave(wv))
775+
break
776+
default:
777+
type = WaveTypeStringToNumber(typeStr)
778+
Make/FREE/Y=(type) wv
779+
CHECK(IsNumericWave(wv))
780+
break
781+
endswitch
762782
End
763783

764784
/// @}
765785

766786
/// IsWaveRefWave
767787
/// @{
768788

769-
Function IWRW_Works()
789+
// UTF_TD_GENERATOR s0:DataGenerators#GetSupportedWaveTypes
790+
Function IWRW_Works([STRUCT IUTF_mData &m])
770791

771-
Make/FREE/WAVE wvRef
772-
CHECK(IsWaveRefWave(wvRef))
792+
string typeStr
793+
variable type
773794

774-
Make/FREE/D wvDouble
775-
CHECK(!IsWaveRefWave(wvDouble))
795+
typeStr = m.s0
776796

777-
Make/FREE/T wvText
778-
CHECK(!IsWaveRefWave(wvText))
797+
strswitch(typeStr)
798+
case "TEXT_WAVE":
799+
Make/FREE/T wv
800+
CHECK(!IsWaveRefWave(wv))
801+
break
802+
case "WAVE_WAVE":
803+
Make/FREE/WAVE wv
804+
CHECK(IsWaveRefWave(wv))
805+
break
806+
default:
807+
type = WaveTypeStringToNumber(typeStr)
808+
Make/FREE/Y=(type) wv
809+
CHECK(!IsWaveRefWave(wv))
810+
break
811+
endswitch
779812
End
780813

781814
/// @}
782815

783816
/// IsFloatingPointWave
784817
/// @{
785818

786-
Function IFPW_Works()
787-
788-
Make/FREE/D wvDouble
789-
CHECK(IsFloatingPointWave(wvDouble))
790-
791-
Make/FREE/R wvSingle
792-
CHECK(IsFloatingPointWave(wvSingle))
793-
794-
Make/FREE/I wvInt
795-
CHECK(!IsFloatingPointWave(wvInt))
796-
797-
Make/FREE/T wvText
798-
CHECK(!IsFloatingPointWave(wvText))
819+
// UTF_TD_GENERATOR s0:DataGenerators#GetSupportedWaveTypes
820+
Function IFPW_Works([STRUCT IUTF_mData &m])
821+
822+
string typeStr
823+
variable type
824+
825+
typeStr = m.s0
826+
827+
strswitch(typeStr)
828+
case "TEXT_WAVE":
829+
Make/FREE/T wv
830+
CHECK(!IsFloatingPointWave(wv))
831+
break
832+
case "WAVE_WAVE":
833+
Make/FREE/WAVE wv
834+
CHECK(!IsFloatingPointWave(wv))
835+
break
836+
case "NT_FP64":
837+
case "NT_FP32":
838+
type = WaveTypeStringToNumber(typeStr)
839+
Make/FREE/Y=(type) wv
840+
CHECK(IsFloatingPointWave(wv))
841+
break
842+
default:
843+
type = WaveTypeStringToNumber(typeStr)
844+
Make/FREE/Y=(type) wv
845+
CHECK(!IsFloatingPointWave(wv))
846+
break
847+
endswitch
799848
End
800849

801850
/// @}
802851

803852
/// IsDoubleFloatingPointWave
804853
/// @{
805854

806-
Function IDFPW_Works()
807-
808-
Make/FREE/D wvDouble
809-
CHECK(IsDoubleFloatingPointWave(wvDouble))
810-
811-
Make/FREE/R wvSingle
812-
CHECK(!IsDoubleFloatingPointWave(wvSingle))
813-
814-
Make/FREE/I wvInt
815-
CHECK(!IsDoubleFloatingPointWave(wvInt))
855+
// UTF_TD_GENERATOR s0:DataGenerators#GetSupportedWaveTypes
856+
Function IDFPW_Works([STRUCT IUTF_mData &m])
857+
858+
string typeStr
859+
variable type
860+
861+
typeStr = m.s0
862+
863+
strswitch(typeStr)
864+
case "TEXT_WAVE":
865+
Make/FREE/T wv
866+
CHECK(!IsDoubleFloatingPointWave(wv))
867+
break
868+
case "WAVE_WAVE":
869+
Make/FREE/WAVE wv
870+
CHECK(!IsDoubleFloatingPointWave(wv))
871+
break
872+
case "NT_FP64":
873+
type = WaveTypeStringToNumber(typeStr)
874+
Make/FREE/Y=(type) wv
875+
CHECK(IsDoubleFloatingPointWave(wv))
876+
break
877+
default:
878+
type = WaveTypeStringToNumber(typeStr)
879+
Make/FREE/Y=(type) wv
880+
CHECK(!IsDoubleFloatingPointWave(wv))
881+
break
882+
endswitch
816883
End
817884

818885
/// @}
819886

820887
/// IsSingleFloatingPointWave
821888
/// @{
822889

823-
Function ISFPW_Works()
824-
825-
Make/FREE/R wvSingle
826-
CHECK(IsSingleFloatingPointWave(wvSingle))
827-
828-
Make/FREE/D wvDouble
829-
CHECK(!IsSingleFloatingPointWave(wvDouble))
830-
831-
Make/FREE/I wvInt
832-
CHECK(!IsSingleFloatingPointWave(wvInt))
890+
// UTF_TD_GENERATOR s0:DataGenerators#GetSupportedWaveTypes
891+
Function ISFPW_Works([STRUCT IUTF_mData &m])
892+
893+
string typeStr
894+
variable type
895+
896+
typeStr = m.s0
897+
898+
strswitch(typeStr)
899+
case "TEXT_WAVE":
900+
Make/FREE/T wv
901+
CHECK(!IsSingleFloatingPointWave(wv))
902+
break
903+
case "WAVE_WAVE":
904+
Make/FREE/WAVE wv
905+
CHECK(!IsSingleFloatingPointWave(wv))
906+
break
907+
case "NT_FP32":
908+
type = WaveTypeStringToNumber(typeStr)
909+
Make/FREE/Y=(type) wv
910+
CHECK(IsSingleFloatingPointWave(wv))
911+
break
912+
default:
913+
type = WaveTypeStringToNumber(typeStr)
914+
Make/FREE/Y=(type) wv
915+
CHECK(!IsSingleFloatingPointWave(wv))
916+
break
917+
endswitch
833918
End
834919

835920
/// @}
@@ -852,16 +937,35 @@ End
852937
/// IsComplexWave
853938
/// @{
854939

855-
Function ICW_Works()
940+
// UTF_TD_GENERATOR s0:DataGenerators#GetSupportedWaveTypes
941+
Function ICW_Works([STRUCT IUTF_mData &m])
856942

857-
Make/FREE/C wvComplex
858-
CHECK(IsComplexWave(wvComplex))
943+
string typeStr
944+
variable type
859945

860-
Make/FREE/D wvDouble
861-
CHECK(!IsComplexWave(wvDouble))
946+
typeStr = m.s0
862947

863-
Make/FREE/I wvInt
864-
CHECK(!IsComplexWave(wvInt))
948+
strswitch(typeStr)
949+
case "TEXT_WAVE":
950+
Make/FREE/T wv
951+
CHECK(!IsComplexWave(wv))
952+
break
953+
case "WAVE_WAVE":
954+
Make/FREE/WAVE wv
955+
CHECK(!IsComplexWave(wv))
956+
break
957+
default:
958+
type = WaveTypeStringToNumber(typeStr)
959+
Make/FREE/Y=(type) wv
960+
CHECK(!IsComplexWave(wv))
961+
break
962+
endswitch
963+
End
964+
965+
Function ICW_WorksWithComplexWave()
966+
967+
Make/FREE/C wvComplex
968+
CHECK(IsComplexWave(wvComplex))
865969
End
866970

867971
/// @}

0 commit comments

Comments
 (0)