@@ -64,5 +64,48 @@ public static void TestGetEnumerator()
6464 Assert . That ( feature . GetType ( ) == typeof ( Ms1Feature ) ) ;
6565 }
6666 }
67+
68+ [ Test ]
69+ public static void TestOperatorOverloads ( )
70+ {
71+ string path1 = @"FileReadingTests\ExternalFileTypes\Ms1Feature_TopFDv1.6.2_ms1.feature" ;
72+ string path2 = @"FileReadingTests\ExternalFileTypes\Ms1Feature_FlashDeconvOpenMs3.0.0_ms1.feature" ;
73+
74+ Ms1FeatureFile fileToTest = new Ms1FeatureFile ( path1 ) ;
75+ Ms1FeatureFile ms1Features2 = new Ms1FeatureFile ( path2 ) ;
76+
77+ Ms1Feature feature = new Ms1Feature ( ) ;
78+ List < Ms1Feature > features = new List < Ms1Feature > { new Ms1Feature ( ) } ;
79+
80+
81+ var initialCount = fileToTest . Count ( ) ;
82+ var file2Count = ms1Features2 . Count ( ) ;
83+
84+ // Test operator +
85+ var result1 = fileToTest + feature ;
86+ Assert . That ( result1 . Results . Contains ( feature ) ) ;
87+ Assert . That ( fileToTest . Count , Is . EqualTo ( initialCount + 1 ) ) ;
88+
89+ var result2 = fileToTest + features ;
90+ Assert . That ( result2 . Results . Contains ( feature ) ) ;
91+ Assert . That ( fileToTest . Count , Is . EqualTo ( initialCount + 2 ) ) ;
92+
93+ var result3 = fileToTest + ms1Features2 ;
94+ Assert . That ( result3 . Results . Contains ( feature ) ) ;
95+ Assert . That ( fileToTest . Count , Is . EqualTo ( initialCount + 2 + file2Count ) ) ;
96+
97+ // Test operator -
98+ var result4 = fileToTest - feature ;
99+ Assert . That ( ! result4 . Results . Contains ( feature ) ) ;
100+ Assert . That ( fileToTest . Count , Is . EqualTo ( initialCount + 1 + file2Count ) ) ;
101+
102+ var result5 = fileToTest - features ;
103+ Assert . That ( ! result5 . Results . Contains ( feature ) ) ;
104+ Assert . That ( fileToTest . Count , Is . EqualTo ( initialCount + file2Count ) ) ;
105+
106+ var result6 = fileToTest - ms1Features2 ;
107+ Assert . That ( ! result6 . Results . Contains ( feature ) ) ;
108+ Assert . That ( fileToTest . Count , Is . EqualTo ( initialCount ) ) ;
109+ }
67110 }
68111}
0 commit comments