コード例 #1
0
ファイル: typebag-test.py プロジェクト: mjs/brokenspell
 def test_remove_item_that_isnt_in_the_bag(self):
     bag = TypeBag()
     o1 = 123
     bag.add(o1)
     self.assertRaises(lambda: bag.remove(456), KeyError)
     self.assertRaises(lambda: bag.remove(7.89), KeyError)
     bag.remove(o1)
     self.assertRaises(lambda: bag.remove(o1), KeyError)
コード例 #2
0
ファイル: typebag-test.py プロジェクト: mjs/brokenspell
 def create_populated_bag(self):
     bag = TypeBag()
     o1 = 123
     o2 = 456
     o3 = [789]
     bag.add(o1)
     bag.add(o2)
     bag.add(o3)
     return bag, [o1, o2, o3]
コード例 #3
0
ファイル: typebag-test.py プロジェクト: mjs/brokenspell
    def test_add(self):
        bag = TypeBag()

        o1 = 123
        bag.add(o1)
        self.assertEquals(bag.items, {id(o1): o1})
        self.assertEquals(bag.by_type, {int: set([id(o1)])})

        o2 = 456
        bag.add(o2)
        self.assertEquals(bag.items, {id(o1): o1, id(o2): o2})
        self.assertEquals(bag.by_type, { int: set([id(o1), id(o2)]), })

        o3 = [789]
        bag.add(o3)
        self.assertEquals(bag.items, {id(o1): o1, id(o2): o2, id(o3): o3})
        self.assertEquals(bag.by_type, {
            int: set([id(o1), id(o2)]),
            list: set([id(o3)]),
        })
コード例 #4
0
ファイル: typebag-test.py プロジェクト: mjs/brokenspell
 def test_add_same_thing_fails(self):
     bag = TypeBag()
     o1 = 123
     bag.add(o1)
     self.assertRaises(lambda: bag.add(o1), ValueError)
コード例 #5
0
ファイル: typebag-test.py プロジェクト: mjs/brokenspell
 def test_remove_returns_the_removed_item(self):
     bag = TypeBag()
     o1 = 123
     bag.add(o1)
     self.assertIs(bag.remove(itemid=id(o1)), o1)