예제 #1
0
    def test_aspect_is_interested_in_different_categories(self):
        aspect = Aspect(all_of=set([Container]), exclude=set([Moveable]), some_of=set([Location, Portable, Alive]))

        self.assertTrue(aspect.is_interested_in(self.cat))
        self.assertFalse(aspect.is_interested_in(self.plant))
        self.assertFalse(aspect.is_interested_in(self.bathtub))
        self.assertFalse(aspect.is_interested_in(self.brains))
        self.assertFalse(aspect.is_interested_in(self.zombie))

        self.assertEqual(aspect.select_entities(self.entities), set([self.cat]))
예제 #2
0
    def test_aspect_is_interested_in_some_of(self):
        aspect = Aspect(some_of=set([Location, Container]))

        self.assertTrue(aspect.is_interested_in(self.cat))
        self.assertFalse(aspect.is_interested_in(self.plant))
        self.assertTrue(aspect.is_interested_in(self.bathtub))
        self.assertTrue(aspect.is_interested_in(self.brains))
        self.assertTrue(aspect.is_interested_in(self.zombie))

        self.assertEqual(aspect.select_entities(self.entities), set([self.cat, self.bathtub, self.brains, self.zombie]))
예제 #3
0
    def test_aspect_is_interested_in_exclude(self):
        aspect = Aspect(exclude=set([Container]))

        self.assertFalse(aspect.is_interested_in(self.cat))
        self.assertTrue(aspect.is_interested_in(self.plant))
        self.assertFalse(aspect.is_interested_in(self.bathtub))
        self.assertTrue(aspect.is_interested_in(self.brains))
        self.assertFalse(aspect.is_interested_in(self.zombie))

        self.assertEqual(aspect.select_entities(self.entities), set([self.plant, self.brains]))
예제 #4
0
    def test_aspect_is_interested_in_all_of(self):
        aspect = Aspect(all_of=set([Alive, Portable]))

        self.assertTrue(aspect.is_interested_in(self.cat))
        self.assertFalse(aspect.is_interested_in(self.plant))
        self.assertFalse(aspect.is_interested_in(self.bathtub))
        self.assertFalse(aspect.is_interested_in(self.brains))
        self.assertFalse(aspect.is_interested_in(self.zombie))

        self.assertEqual(aspect.select_entities(self.entities), set([self.cat]))
예제 #5
0
    def test_aspect_is_interested_in_exclude(self):
        aspect = Aspect(exclude=set([Container]))

        self.assertFalse(aspect.is_interested_in(self.cat))
        self.assertTrue(aspect.is_interested_in(self.plant))
        self.assertFalse(aspect.is_interested_in(self.bathtub))
        self.assertTrue(aspect.is_interested_in(self.brains))
        self.assertFalse(aspect.is_interested_in(self.zombie))

        self.assertEqual(aspect.select_entities(self.entities),
                         set([self.plant, self.brains]))
예제 #6
0
    def test_aspect_is_interested_in_all_of(self):
        aspect = Aspect(all_of=set([Alive, Portable]))

        self.assertTrue(aspect.is_interested_in(self.cat))
        self.assertFalse(aspect.is_interested_in(self.plant))
        self.assertFalse(aspect.is_interested_in(self.bathtub))
        self.assertFalse(aspect.is_interested_in(self.brains))
        self.assertFalse(aspect.is_interested_in(self.zombie))

        self.assertEqual(aspect.select_entities(self.entities),
                         set([self.cat]))
예제 #7
0
    def test_aspect_is_interested_in_some_of(self):
        aspect = Aspect(some_of=set([Location, Container]))

        self.assertTrue(aspect.is_interested_in(self.cat))
        self.assertFalse(aspect.is_interested_in(self.plant))
        self.assertTrue(aspect.is_interested_in(self.bathtub))
        self.assertTrue(aspect.is_interested_in(self.brains))
        self.assertTrue(aspect.is_interested_in(self.zombie))

        self.assertEqual(
            aspect.select_entities(self.entities),
            set([self.cat, self.bathtub, self.brains, self.zombie]))
예제 #8
0
    def test_aspect_is_interested_in_different_categories(self):
        aspect = Aspect(all_of=set([Container]),
                        exclude=set([Moveable]),
                        some_of=set([Location, Portable, Alive]))

        self.assertTrue(aspect.is_interested_in(self.cat))
        self.assertFalse(aspect.is_interested_in(self.plant))
        self.assertFalse(aspect.is_interested_in(self.bathtub))
        self.assertFalse(aspect.is_interested_in(self.brains))
        self.assertFalse(aspect.is_interested_in(self.zombie))

        self.assertEqual(aspect.select_entities(self.entities),
                         set([self.cat]))