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))
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}
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 }
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
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))
def setUp(self): self.i = Inventory()
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)
def setUp(self): self.i = InventoryWindow(Inventory())
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 setUp(self): # like player's inventory window self.i = InventoryWindow(Inventory())
def setUp(self): self.i = FurnaceWindow(1, Inventory(), FurnaceStorage(), 0)
def setUp(self): self.a = ChestStorage() self.b = ChestStorage() self.i = LargeChestWindow(1, Inventory(), self.a, self.b, 0)
def setUp(self): self.i = ChestWindow(1, Inventory(), ChestStorage(), 0)
def setUp(self): self.i = WorkbenchWindow(1, Inventory())