コード例 #1
0
ファイル: test_windows.py プロジェクト: JDShu/bravo
class TestInventorySerialization(unittest.TestCase):
    def setUp(self):
        self.i = Inventory()
        self.l = [None] * 104
        self.l[0] = 1, 0, 1
        self.l[9] = 2, 0, 1
        self.l[100] = 3, 0, 1

    def test_internals(self):
        self.assertEqual(len(self.i), 104)
        self.assertEqual(self.i.metalength, 104)
        self.assertEqual(self.i.metalist, [[None] * 9, [None] * 27,
                                           [None] * 64, [None] * 4])

    def test_load_from_list(self):
        self.i.load_from_list(self.l)
        self.assertEqual(self.i.holdables[0], (1, 0, 1))
        self.assertEqual(self.i.storage[0], (2, 0, 1))
        self.assertEqual(self.i.armor[3], (3, 0, 1))

    def test_save_to_list(self):
        self.i.holdables[0] = 1, 0, 1
        self.i.storage[0] = 2, 0, 1
        self.i.armor[3] = 3, 0, 1
        m = self.i.save_to_list()
        self.assertEqual(m, self.l)
        self.assertEqual(self.i.armor[3], (3, 0, 1))
コード例 #2
0
class TestInventorySerialization(unittest.TestCase):
    def setUp(self):
        self.i = Inventory()
        self.l = [None] * 104
        self.l[0] = 1, 0, 1
        self.l[9] = 2, 0, 1
        self.l[100] = 3, 0, 1

    def test_internals(self):
        self.assertEqual(len(self.i), 104)
        self.assertEqual(self.i.metalength, 104)
        self.assertEqual(self.i.metalist,
                         [[None] * 9, [None] * 27, [None] * 64, [None] * 4])

    def test_load_from_list(self):
        self.i.load_from_list(self.l)
        self.assertEqual(self.i.holdables[0], (1, 0, 1))
        self.assertEqual(self.i.storage[0], (2, 0, 1))
        self.assertEqual(self.i.armor[3], (3, 0, 1))

    def test_save_to_list(self):
        self.i.holdables[0] = 1, 0, 1
        self.i.storage[0] = 2, 0, 1
        self.i.armor[3] = 3, 0, 1
        m = self.i.save_to_list()
        self.assertEqual(m, self.l)
        self.assertEqual(self.i.armor[3], (3, 0, 1))
コード例 #3
0
ファイル: test_furnace.py プロジェクト: tazjel/bravo
 def setUp(self):
     self.tile = FurnaceTile(0, 0, 0)
     self.protocol = FakeProtocol()
     self.protocol.windows.append(FurnaceWindow(7, Inventory(),
         self.tile.inventory, coords))
     self.factory = FakeFactory()
     self.factory.protocols = {1: self.protocol}
コード例 #4
0
ファイル: test_furnace.py プロジェクト: tazjel/bravo
    def setUp(self):
        self.tile = FurnaceTile(0, 0, 0)
        self.tile2 = FurnaceTile(0, 1, 0)

        # no any windows
        self.protocol1 = FakeProtocol()
        # window with different coordinates
        self.protocol2 = FakeProtocol()
        self.protocol2.windows.append(FurnaceWindow(1, Inventory(),
            self.tile2.inventory, coords2))
        # windows with proper coodinates
        self.protocol3 = FakeProtocol()
        self.protocol3.windows.append(FurnaceWindow(2, Inventory(),
            self.tile.inventory, coords))

        self.factory = FakeFactory()
        self.factory.protocols = {
            1: self.protocol1,
            2: self.protocol2,
            3: self.protocol3
        }
コード例 #5
0
ファイル: entity.py プロジェクト: JDShu/bravo
    def __init__(self, username="", **kwargs):
        """
        Create a player.

        This method calls super().
        """

        super(Player, self).__init__(**kwargs)

        self.username = username
        self.inventory = Inventory()

        self.equipped = 0
コード例 #6
0
ファイル: test_inventory.py プロジェクト: dliverman/bravo
class TestInventoryInternals(unittest.TestCase):
    """
    The Inventory class might be near-useless when not subclassed, but we can
    still test a handful of its properties.
    """
    def setUp(self):
        self.i = Inventory()

    def test_trivial(self):
        pass

    def test_add(self):
        self.assertFalse(self.i.add((0, 0), 1))
コード例 #7
0
ファイル: test_inventory.py プロジェクト: EntityReborn/bravo
class TestInventoryInternals(unittest.TestCase):
    """
    The Inventory class might be near-useless when not subclassed, but we can
    still test a handful of its properties.
    """

    def setUp(self):
        self.i = Inventory()

    def test_trivial(self):
        pass

    def test_add(self):
        self.assertFalse(self.i.add((0, 0), 1))
コード例 #8
0
ファイル: test_inventory.py プロジェクト: EntityReborn/bravo
 def setUp(self):
     self.i = Inventory()
コード例 #9
0
 def setUp(self):
     self.i = Inventory()
コード例 #10
0
class TestInventory(unittest.TestCase):
    def setUp(self):
        self.i = Inventory()

    def test_add_to_inventory(self):
        self.assertEqual(self.i.holdables, [None] * 9)
        self.assertEqual(self.i.add((2, 0), 1), 0)
        self.assertEqual(self.i.holdables[0], (2, 0, 1))

    def test_add_to_inventory_sequential(self):
        self.assertEqual(self.i.holdables, [None] * 9)
        self.assertEqual(self.i.add((2, 0), 1), 0)
        self.assertEqual(self.i.holdables[0], (2, 0, 1))
        self.assertEqual(self.i.add((2, 0), 1), 0)
        self.assertEqual(self.i.holdables[0], (2, 0, 2))
        self.assertEqual(self.i.holdables[1], None)

    def test_add_to_inventory_fill_slot(self):
        self.i.holdables[0] = Slot(2, 0, 50)
        self.assertEqual(self.i.add((2, 0), 30), 0)
        self.assertEqual(self.i.holdables[0], (2, 0, 64))
        self.assertEqual(self.i.holdables[1], (2, 0, 16))

    def test_add_to_inventory_fill_with_stack(self):
        self.i.storage[0] = Slot(2, 0, 50)
        self.assertEqual(self.i.add((2, 0), 30), 0)
        self.assertEqual(self.i.storage[0], (2, 0, 64))
        self.assertEqual(self.i.holdables[0], (2, 0, 16))

    def test_add_to_full_inventory(self):
        self.i.storage[:] = [Slot(2, 0, 1)] * 27
        self.i.holdables[:] = [Slot(1, 0, 64)] * 27
        self.assertEqual(self.i.add((1, 0), 20), 20)

    def test_add_to_almost_full_inventory(self):
        self.i.holdables[:] = [Slot(2, 0, 1)] * 9
        self.i.storage[:] = [Slot(1, 0, 64)] * 27
        self.i.storage[5] = Slot(1, 0, 50)
        self.assertEqual(self.i.add((1, 0), 20), 6)

    def test_consume_holdable(self):
        self.i.holdables[0] = Slot(2, 0, 1)
        self.assertTrue(self.i.consume((2, 0), 0))
        self.assertEqual(self.i.holdables[0], None)

    def test_consume_holdable_empty(self):
        self.assertFalse(self.i.consume((2, 0), 0))

    def test_consume_holdable_second_slot(self):
        self.i.holdables[1] = Slot(2, 0, 1)
        self.assertTrue(self.i.consume((2, 0), 1))
        self.assertEqual(self.i.holdables[1], None)

    def test_consume_holdable_multiple_stacks(self):
        self.i.holdables[0] = Slot(2, 0, 1)
        self.i.holdables[1] = Slot(2, 0, 1)
        # consume second stack
        self.assertTrue(self.i.consume((2, 0), 1))
        self.assertEqual(self.i.holdables[0], (2, 0, 1))
        self.assertEqual(self.i.holdables[1], None)
        # consume second stack a second time
        self.assertFalse(self.i.consume((2, 0), 1))
        self.assertEqual(self.i.holdables[0], (2, 0, 1))
        self.assertEqual(self.i.holdables[1], None)
コード例 #11
0
 def setUp(self):
     self.i = InventoryWindow(Inventory())
コード例 #12
0
ファイル: test_windows.py プロジェクト: JDShu/bravo
 def setUp(self):
     self.i = Inventory()
     self.l = [None] * 104
     self.l[0] = 1, 0, 1
     self.l[9] = 2, 0, 1
     self.l[100] = 3, 0, 1
コード例 #13
0
 def setUp(self):
     self.i = Inventory()
     self.l = [None] * 104
     self.l[0] = 1, 0, 1
     self.l[9] = 2, 0, 1
     self.l[100] = 3, 0, 1
コード例 #14
0
ファイル: test_windows.py プロジェクト: JDShu/bravo
class TestInventory(unittest.TestCase):

    def setUp(self):
        self.i = Inventory()

    def test_add_to_inventory(self):
        self.assertEqual(self.i.holdables, [None] * 9)
        self.assertEqual(self.i.add((2, 0), 1), 0)
        self.assertEqual(self.i.holdables[0], (2, 0, 1))

    def test_add_to_inventory_sequential(self):
        self.assertEqual(self.i.holdables, [None] * 9)
        self.assertEqual(self.i.add((2, 0), 1), 0)
        self.assertEqual(self.i.holdables[0], (2, 0, 1))
        self.assertEqual(self.i.add((2, 0), 1), 0)
        self.assertEqual(self.i.holdables[0], (2, 0, 2))
        self.assertEqual(self.i.holdables[1], None)

    def test_add_to_inventory_fill_slot(self):
        self.i.holdables[0] = Slot(2, 0, 50)
        self.assertEqual(self.i.add((2, 0), 30), 0)
        self.assertEqual(self.i.holdables[0], (2, 0, 64))
        self.assertEqual(self.i.holdables[1], (2, 0, 16))

    def test_add_to_inventory_fill_with_stack(self):
        self.i.storage[0] = Slot(2, 0, 50)
        self.assertEqual(self.i.add((2, 0), 30), 0)
        self.assertEqual(self.i.storage[0], (2, 0, 64))
        self.assertEqual(self.i.holdables[0], (2, 0, 16))

    def test_add_to_full_inventory(self):
        self.i.storage[:] = [Slot(2, 0, 1)] * 27
        self.i.holdables[:] = [Slot(1, 0, 64)] * 27
        self.assertEqual(self.i.add((1, 0), 20), 20)

    def test_add_to_almost_full_inventory(self):
        self.i.holdables[:] = [Slot(2, 0, 1)] * 9
        self.i.storage[:] = [Slot(1, 0, 64)] * 27
        self.i.storage[5] = Slot(1, 0, 50)
        self.assertEqual(self.i.add((1, 0), 20), 6)

    def test_consume_holdable(self):
        self.i.holdables[0] = Slot(2, 0, 1)
        self.assertTrue(self.i.consume((2, 0), 0))
        self.assertEqual(self.i.holdables[0], None)

    def test_consume_holdable_empty(self):
        self.assertFalse(self.i.consume((2, 0), 0))

    def test_consume_holdable_second_slot(self):
        self.i.holdables[1] = Slot(2, 0, 1)
        self.assertTrue(self.i.consume((2, 0), 1))
        self.assertEqual(self.i.holdables[1], None)

    def test_consume_holdable_multiple_stacks(self):
        self.i.holdables[0] = Slot(2, 0, 1)
        self.i.holdables[1] = Slot(2, 0, 1)
        # consume second stack
        self.assertTrue(self.i.consume((2, 0), 1))
        self.assertEqual(self.i.holdables[0], (2, 0, 1))
        self.assertEqual(self.i.holdables[1], None)
        # consume second stack a second time
        self.assertFalse(self.i.consume((2, 0), 1))
        self.assertEqual(self.i.holdables[0], (2, 0, 1))
        self.assertEqual(self.i.holdables[1], None)
コード例 #15
0
 def setUp(self):
     # like player's inventory window
     self.i = InventoryWindow(Inventory())
コード例 #16
0
 def setUp(self):
     self.i = FurnaceWindow(1, Inventory(), FurnaceStorage(), 0)
コード例 #17
0
 def setUp(self):
     self.a = ChestStorage()
     self.b = ChestStorage()
     self.i = LargeChestWindow(1, Inventory(), self.a, self.b, 0)
コード例 #18
0
 def setUp(self):
     self.i = ChestWindow(1, Inventory(), ChestStorage(), 0)
コード例 #19
0
 def setUp(self):
     self.i = WorkbenchWindow(1, Inventory())