def test_specialMethods(self): sensList = SensorListe() s1 = Sensor(name="testSensor", identifier="1") s2 = Sensor(name="testSensor", identifier="1") iterable1 = [Sensor(), s1, Sensor()] iterable2 = [Sensor(), Sensor(), "string", Sensor()] iterable3 = [Sensor(), Sensor(), 25.15, Sensor()] iterable4 = [Sensor(), Sensor(), SensorListe(), Sensor()] iterable5 = [Sensor(), Sensor(), 15, Sensor()] iterable6 = [s1, s2] self.assertRaises(TypeError, self.sensList.append, "string") self.assertRaises(TypeError, sensList.append, 25) self.assertRaises(TypeError, sensList.append, 25.123) self.assertRaises(TypeError, sensList.append, sensList.append(Sensor())) self.assertRaises(TypeError, sensList.append, sensList.append(Sensor())) # __init__ darf nur Sensoren annehmen self.assertRaises(TypeError, SensorListe, iterable2) self.assertRaises(TypeError, SensorListe, iterable3) self.assertRaises(TypeError, SensorListe, iterable4) self.assertRaises(TypeError, SensorListe, iterable5) # __init__ muss funktionieren sensList1 = SensorListe(iterable1) for sensor in iterable1: sensList1.append(sensor) testsensList1 = SensorListe([Sensor(), s1]) self.assertEqual(sensList1, testsensList1) # achtung!! Gilt nicht falls die reihenfolge geändert wurde self.assertEqual(SensorListe(), []) self.assertEqual(SensorListe(iterable6), SensorListe([s1])) # type muss gleich type(Sensorlist() sein self.assertEqual(SensorListe, type(sensList)) self.assertEqual(SensorListe, type(sensList1)) # __contains__ self.assertEqual(self.name1 in self.sList, True) self.assertEqual(self.name2 in self.sList, True) self.assertEqual(self.ID1 in self.sList, True) self.assertEqual(self.ID2 in self.sList, True) self.assertEqual(self.s1 in self.sList, True) self.assertEqual(self.s2 in self.sList, True) self.assertTrue(self.s1_1 in self.sList) self.s1_1._temperatur = 985 self.assertTrue(self.s1_1 in self.sList) self.assertEqual(self.notExistingSensor in self.sList, False) self.assertEqual([] in self.sList, False) self.assertEqual(25 in self.sList, False) # index muss funktionieren sensList3 = SensorListe() for sensor in iterable1: sensList3.append(sensor) self.assertEqual(sensList3.index(s1), iterable1.index(s1))
def test_append(self): ID1 = "ID1" ID2 = "ID2" name1 = "Sensor1" name2 = "Sensor2" s1 = Sensor(name=name1, temperatur=20, identifier=ID1) s1_1 = Sensor(name=name1, temperatur=20, identifier=ID1) s2 = Sensor(name=name2, temperatur=20, identifier=ID2) s3 = Sensor(name=name1, temperatur=10, identifier=ID1) sensList = SensorListe() sensList.append(s1) sensList.append(s1_1) self.assertTrue(s1 in sensList) self.assertTrue(s1_1 in sensList) self.assertEqual(sensList, SensorListe([s1])) sensList.append(s3) self.assertTrue(s1 in sensList) sensList.append(s2) self.assertEqual(sensList, SensorListe([s3, s2]))