@@ -288,6 +288,55 @@ def test_remove_add_pass(self):
288288 self .assertEqual ([1 ], imp_fun .get_ids ("TC" ))
289289
290290
291+ class TestEquality (unittest .TestCase ):
292+ """Test equality method for ImpactFuncSet"""
293+
294+ def setUp (self ):
295+ intensity = np .array ([0 , 20 ])
296+ paa = np .array ([0 , 1 ])
297+ mdd = np .array ([0 , 0.5 ])
298+
299+ fun_1 = ImpactFunc ("TC" , 3 , intensity , mdd , paa )
300+ fun_2 = ImpactFunc ("TC" , 3 , intensity , mdd , paa )
301+ fun_3 = ImpactFunc ("TC" , 4 , intensity + 1 , mdd , paa )
302+
303+ self .impact_set1 = ImpactFuncSet ([fun_1 ])
304+ self .impact_set2 = ImpactFuncSet ([fun_2 ])
305+ self .impact_set3 = ImpactFuncSet ([fun_3 ])
306+ self .impact_set4 = ImpactFuncSet ([fun_1 , fun_3 ])
307+
308+ def test_reflexivity (self ):
309+ self .assertEqual (self .impact_set1 , self .impact_set1 )
310+
311+ def test_symmetry (self ):
312+ self .assertEqual (self .impact_set1 , self .impact_set2 )
313+ self .assertEqual (self .impact_set2 , self .impact_set1 )
314+
315+ def test_transitivity (self ):
316+ impact_set5 = ImpactFuncSet ([self .impact_set1 ._data ["TC" ][3 ]])
317+ self .assertEqual (self .impact_set1 , self .impact_set2 )
318+ self .assertEqual (self .impact_set2 , impact_set5 )
319+ self .assertEqual (self .impact_set1 , impact_set5 )
320+
321+ def test_consistency (self ):
322+ self .assertEqual (self .impact_set1 , self .impact_set2 )
323+ self .assertEqual (self .impact_set1 , self .impact_set2 )
324+
325+ def test_comparison_with_none (self ):
326+ self .assertNotEqual (self .impact_set1 , None )
327+
328+ def test_different_types (self ):
329+ self .assertNotEqual (self .impact_set1 , "Not an ImpactFuncSet" )
330+
331+ def test_field_comparison (self ):
332+ self .assertNotEqual (self .impact_set1 , self .impact_set3 )
333+ self .assertNotEqual (self .impact_set1 , self .impact_set4 )
334+
335+ def test_inequality (self ):
336+ self .assertNotEqual (self .impact_set1 , self .impact_set3 )
337+ self .assertTrue (self .impact_set1 != self .impact_set3 )
338+
339+
291340class TestChecker (unittest .TestCase ):
292341 """Test loading funcions from the ImpactFuncSet class"""
293342
@@ -592,6 +641,7 @@ def test_write_read_pass(self):
592641# Execute Tests
593642if __name__ == "__main__" :
594643 TESTS = unittest .TestLoader ().loadTestsFromTestCase (TestContainer )
644+ TESTS .addTests (unittest .TestLoader ().loadTestsFromTestCase (TestEquality ))
595645 TESTS .addTests (unittest .TestLoader ().loadTestsFromTestCase (TestChecker ))
596646 TESTS .addTests (unittest .TestLoader ().loadTestsFromTestCase (TestExtend ))
597647 TESTS .addTests (unittest .TestLoader ().loadTestsFromTestCase (TestReaderExcel ))
0 commit comments