Beispiel #1
0
 def test_12(self):
     """ Test the mixing of behaviors
     """
     behMec = BehaviorAO.get_behavior(self.eidMech)
     behLud = BehaviorAO.get_behavior(self.eid1)
     bint = behMec & behLud
     bor = behMec | behLud
     bxor = behMec ^ behLud
     bdiff = behMec.difference(behLud)
     assert bint.behavior_type == "composed"
     assert bor.behavior_type == "composed"
     assert bxor.behavior_type == "composed"
     assert bdiff.behavior_type == "composed"
     self.assertRaises(TypeError, behMec.difference_update, behLud)
Beispiel #2
0
 def test_08(self):
     print("test_08")
     """[summary]
         intersection test
     """
     beh1 = BehaviorAO.get_behavior(self.eid1)
     beh2 = BehaviorAO.get_behavior(self.eid2)
     beh3 = beh1.intersection(beh2)
     assert beh3.external_id == ""
     assert len(beh3) == len(self.int)
     assert beh3.behavior_type == "LUDIC"
     for el in self.int:
         assert self.elAO[el] in beh3
     for el in beh3.elements:
         assert ((el in beh2) and (el in beh1))
     erro, msg = beh3.check_save()
     assert erro is RuntimeError
     self.assertRaises(RuntimeError, beh3.save)
Beispiel #3
0
 def test_07_1(self):
     print("test_07_1")
     """[summary]
         difference test
     """
     beh1 = BehaviorAO.get_behavior(self.eid1)
     beh2 = BehaviorAO.get_behavior(self.eid2)
     beh3 = beh2.difference(beh1)
     assert beh3.external_id == ""
     assert len(beh3) == len(self.diff2)
     assert beh3.behavior_type == "LUDIC"
     for el in self.diff2:
         assert self.elAO[el] in beh3
     for el in beh3.elements:
         assert ((el in beh2) and (not (el in beh1)))
     erro, msg = beh3.check_save()
     assert erro is RuntimeError
     self.assertRaises(RuntimeError, beh3.save)
    def init_elements(cls):

        cls.elDB=ElementDB.objects # pylint: disable=no-member

        cls.elAO = [el.to_obj() for el in cls.elDB]

        cls.interbeh = BehaviorAO(behavior_type="INTERACTIVITY")
        cls.ludbeh = BehaviorAO(behavior_type="LUDIC")

        for el in cls.inter:
            cls.interbeh.add(cls.elAO[el])
        for el in cls.ludi:
            cls.ludbeh.add(cls.elAO[el])

        cls.interbeh2 = BehaviorAO(behavior_type="INTERACTIVITY")
        cls.ludbeh2 = BehaviorAO(behavior_type="LUDIC")

        for el in cls.inter1:
            cls.interbeh2.add(cls.elAO[el])
        for el in cls.ludi1:
            cls.ludbeh2.add(cls.elAO[el])
    def init_interactivity_behavior_operand_comparators(cls):
        cls.interbehand = BehaviorAO()
        cls.interbehor = BehaviorAO()
        cls.interbehxor = BehaviorAO()
        cls.interbehdifference = BehaviorAO()
        cls.interbehinter = BehaviorAO()
        cls.interbehunion = BehaviorAO()

        for el in cls.interand:
            cls.interbehand.add(cls.elAO[el])

        for el in cls.interor:
            cls.interbehor.add(cls.elAO[el])

        for el in cls.interxor:
            cls.interbehxor.add(cls.elAO[el])

        for el in cls.interdifference:
            cls.interbehdifference.add(cls.elAO[el])

        for el in cls.interinter:
            cls.interbehinter.add(cls.elAO[el])

        for el in cls.interunion:
            cls.interbehunion.add(cls.elAO[el])
    def init_elements(cls):

        cls.elDB = ElementDB.objects  # pylint: disable=no-member

        cls.elAO = [el.to_obj() for el in cls.elDB]

        cls.interbeh = BehaviorAO(behavior_type="INTERACTIVITY")
        cls.mechbeh = BehaviorAO(behavior_type="MECHANICAL")
        cls.devibeh = BehaviorAO(behavior_type="DEVICE")

        for el in cls.inter:
            cls.interbeh.add(cls.elAO[el])
        for el in cls.mech:
            cls.mechbeh.add(cls.elAO[el])
        for el in cls.devi:
            cls.devibeh.add(cls.elAO[el])

        cls.interbeh2 = BehaviorAO(behavior_type="INTERACTIVITY")
        cls.mechbeh2 = BehaviorAO(behavior_type="MECHANICAL")
        cls.devibeh2 = BehaviorAO(behavior_type="DEVICE")

        for el in cls.inter1:
            cls.interbeh2.add(cls.elAO[el])
        for el in cls.mech1:
            cls.mechbeh2.add(cls.elAO[el])
        for el in cls.devi1:
            cls.devibeh2.add(cls.elAO[el])
Beispiel #7
0
 def test_03(self):
     print("test_03")
     """[summary]
         Create a third behavior, of the different type as the 1st (store the external_id)
         Validation: Database accuses 3 behavior
     """
     behMec = BehaviorAO.create_behavior("MECHANICAL")
     assert behMec.external_id is not None
     assert BehaviorDB.objects.count() == 3  # pylint: disable=no-member
     for idx in self.els2:
         behMec.add(self.elAO[idx])
     behMec.save()
     assert len(behMec) == len(self.els2)
     self.__class__.eidMech = behMec.external_id
Beispiel #8
0
 def test_01(self):
     """[summary]
         Create a behavior (store the external_id)
         Validation: Database accuses 1 behavior
     """
     print("test_01")
     beh1 = BehaviorAO.create_behavior("LUDIC")
     assert beh1.external_id is not None
     assert BehaviorDB.objects.count() == 1  # pylint: disable=no-member
     for idx in self.els1:
         beh1.add(self.elAO[idx])
     beh1.save()
     assert len(beh1) == len(self.els1)
     self.__class__.eid1 = beh1.external_id
Beispiel #9
0
 def test_02(self):
     print("test_02")
     """[summary]
         Create a second behavior, of the same type as the 1st (store the external_id)
         Validation: Database accuses 2 behavior
     """
     beh2 = BehaviorAO.create_behavior("LUDIC")
     assert beh2.external_id is not None
     assert BehaviorDB.objects.count() == 2  # pylint: disable=no-member
     for idx in self.els2:
         beh2.add(self.elAO[idx])
     beh2.save()
     assert len(beh2) == len(self.els2)
     self.__class__.eid2 = beh2.external_id
     pass
Beispiel #10
0
 def test_11(self):
     print("test_11")
     """[summary]
         Add two behaviors
         Validation: Quantification test.
     """
     """[summary]
         union test
     """
     """[summary]
         Or test
     """
     beh1 = BehaviorAO.get_behavior(self.eid1)
     beh2 = BehaviorAO.get_behavior(self.eid2)
     beh3 = beh1 + beh2
     beh4 = beh1 ^ beh2
     beh5 = beh1 & beh2
     assert beh3.external_id == ""
     assert beh3.behavior_type == "LUDIC"
     for el in beh4.elements:
         assert beh3.element_count.count(el) == 1
     for el in beh5.elements:
         assert beh3.element_count.count(el) == 2
     assert len(beh3.element_count) == len(beh1) + len(beh2)
Beispiel #11
0
 def test_10_1(self):
     print("test_10_1")
     """[summary]
         add more elements to 1st behavior
         Validation: Check out the diffs
     """
     """[summary]
         retrieve the 1st behavior add update elements to generate a diff
         Validation: Database behavior list of elements must be equal to the added
         Validation: Diff length must increase in 1
     """
     beh1 = BehaviorAO.get_behavior(self.eid1)
     currdiffdata = beh1.diffdata
     for el in self.els1_add2:
         beh1.add(self.elAO[el])
     for el in self.els1_rem2:
         beh1.discard(self.elAO[el])
     beh1.save()
     assert len(beh1.diffdata) == (len(currdiffdata) + 1)
     for el in self.els1_add2:
         assert self.elAO[el] in beh1
     for el in self.els1_rem2:
         assert self.elAO[el] not in beh1
    def init_device_behavior_operand_comparators(cls):
        cls.devibehand = BehaviorAO()
        cls.devibehor = BehaviorAO()
        cls.devibehxor = BehaviorAO()
        cls.devibehdifference = BehaviorAO()
        cls.devibehinter = BehaviorAO()
        cls.devibehunion = BehaviorAO()
        for el in cls.deviand:
            cls.devibehand.add(cls.elAO[el])

        for el in cls.devior:
            cls.devibehor.add(cls.elAO[el])

        for el in cls.devixor:
            cls.devibehxor.add(cls.elAO[el])

        for el in cls.devidifference:
            cls.devibehdifference.add(cls.elAO[el])

        for el in cls.deviinter:
            cls.devibehinter.add(cls.elAO[el])

        for el in cls.deviunion:
            cls.devibehunion.add(cls.elAO[el])
    def init_mechanical_behavior_operand_comparators(cls):
        cls.mechbehand = BehaviorAO()
        cls.mechbehor = BehaviorAO()
        cls.mechbehxor = BehaviorAO()
        cls.mechbehdifference = BehaviorAO()
        cls.mechbehinter = BehaviorAO()
        cls.mechbehunion = BehaviorAO()
        for el in cls.mechand:
            cls.mechbehand.add(cls.elAO[el])

        for el in cls.mechor:
            cls.mechbehor.add(cls.elAO[el])

        for el in cls.mechxor:
            cls.mechbehxor.add(cls.elAO[el])

        for el in cls.mechdifference:
            cls.mechbehdifference.add(cls.elAO[el])

        for el in cls.mechinter:
            cls.mechbehinter.add(cls.elAO[el])

        for el in cls.mechunion:
            cls.mechbehunion.add(cls.elAO[el])
Beispiel #14
0
    def init_gamefication_behavior_operand_comparators(cls):
        cls.gamefbehand = BehaviorAO()
        cls.gamefbehor = BehaviorAO()
        cls.gamefbehxor = BehaviorAO()
        cls.gamefbehdifference = BehaviorAO()
        cls.gamefbehinter = BehaviorAO()
        cls.gamefbehunion = BehaviorAO()
        for el in cls.gamefand:
            cls.gamefbehand.add(cls.elAO[el])

        for el in cls.gamefor:
            cls.gamefbehor.add(cls.elAO[el])

        for el in cls.gamefxor:
            cls.gamefbehxor.add(cls.elAO[el])

        for el in cls.gamefdifference:
            cls.gamefbehdifference.add(cls.elAO[el])

        for el in cls.gamefinter:
            cls.gamefbehinter.add(cls.elAO[el])

        for el in cls.gamefunion:
            cls.gamefbehunion.add(cls.elAO[el])
Beispiel #15
0
    def init_ludic_behavior_operand_comparators(cls):
        cls.ludbehand = BehaviorAO()
        cls.ludbehor = BehaviorAO()
        cls.ludbehxor = BehaviorAO()
        cls.ludbehdifference = BehaviorAO()
        cls.ludbehinter = BehaviorAO()
        cls.ludbehunion = BehaviorAO()
        for el in cls.ludand:
            cls.ludbehand.add(cls.elAO[el])

        for el in cls.ludor:
            cls.ludbehor.add(cls.elAO[el])

        for el in cls.ludxor:
            cls.ludbehxor.add(cls.elAO[el])

        for el in cls.luddifference:
            cls.ludbehdifference.add(cls.elAO[el])

        for el in cls.ludinter:
            cls.ludbehinter.add(cls.elAO[el])

        for el in cls.ludunion:
            cls.ludbehunion.add(cls.elAO[el])