Example #1
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))
Example #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))
Example #3
0
 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}
Example #4
0
    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
        }
Example #5
0
    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
Example #6
0
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))
Example #7
0
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))
Example #8
0
 def setUp(self):
     self.i = Inventory()
Example #9
0
 def setUp(self):
     self.i = Inventory()
Example #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)
Example #11
0
 def setUp(self):
     self.i = InventoryWindow(Inventory())
Example #12
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
Example #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
Example #14
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)
Example #15
0
 def setUp(self):
     # like player's inventory window
     self.i = InventoryWindow(Inventory())
Example #16
0
 def setUp(self):
     self.i = FurnaceWindow(1, Inventory(), FurnaceStorage(), 0)
Example #17
0
 def setUp(self):
     self.a = ChestStorage()
     self.b = ChestStorage()
     self.i = LargeChestWindow(1, Inventory(), self.a, self.b, 0)
Example #18
0
 def setUp(self):
     self.i = ChestWindow(1, Inventory(), ChestStorage(), 0)
Example #19
0
 def setUp(self):
     self.i = WorkbenchWindow(1, Inventory())