Exemple #1
0
class TestChestIntegration(unittest.TestCase):
    def setUp(self):
        self.i = ChestWindow(1, Inventory(), ChestStorage(), 0)

    def test_internals(self):
        self.assertEqual(self.i.metalist, [[None] * 27, [None] * 27, [None] * 9])

    def test_parameters(self):
        self.i.slots.title = "MyChest"
        self.assertEqual( self.i.slots_num, 27 )
        self.assertEqual( self.i.identifier, "chest" )
        self.assertEqual( self.i.title, "MyChest" )

    def test_dirty_slots_move(self):
        self.i.slots.storage[0] = Slot(2, 0, 1)
        self.i.slots.storage[2] = Slot(1, 0, 4)
        # simple move
        self.i.select(0)
        self.i.select(1)
        self.assertEqual(self.i.dirty_slots, {0 : None, 1 : (2, 0, 1)})

    def test_dirty_slots_split_and_stack(self):
        self.i.slots.storage[0] = Slot(2, 0, 1)
        self.i.slots.storage[2] = Slot(1, 0, 4)
        # split
        self.i.select(2, True)
        self.i.select(1)
        self.assertEqual(self.i.dirty_slots, {1 : (1, 0, 2), 2 : (1, 0, 2)})
        # stack
        self.i.select(2)
        self.i.select(1)
        self.assertEqual(self.i.dirty_slots, {1 : (1, 0, 4), 2 : None})

    def test_dirty_slots_move_stack(self):
        self.i.slots.storage[0] = Slot(2, 0, 1)
        self.i.select(0, False, True)
        self.assertEqual(self.i.dirty_slots, {0 : None})

    def test_dirty_slots_packaging(self):
        self.i.slots.storage[0] = Slot(1, 0, 1)
        self.i.select(0)
        self.i.select(1)
        self.assertEqual(self.i.dirty_slots, {0 : None, 1 : (1, 0, 1)})
        packets = self.i.packets_for_dirty(self.i.dirty_slots)
        self.assertEqual(packets, '\x67\x01\x00\x00\xff\xff' +\
                                  '\x67\x01\x00\x01\x00\x01\x01\x00\x00')
Exemple #2
0
class TestChestIntegration(unittest.TestCase):
    def setUp(self):
        self.i = ChestWindow(1, Inventory(), ChestStorage(), 0)

    def test_internals(self):
        self.assertEqual(self.i.metalist,
                         [[None] * 27, [None] * 27, [None] * 9])

    def test_parameters(self):
        self.i.slots.title = "MyChest"
        self.assertEqual(self.i.slots_num, 27)
        self.assertEqual(self.i.identifier, "chest")
        self.assertEqual(self.i.title, "MyChest")

    def test_dirty_slots_move(self):
        self.i.slots.storage[0] = Slot(2, 0, 1)
        self.i.slots.storage[2] = Slot(1, 0, 4)
        # simple move
        self.i.select(0)
        self.i.select(1)
        self.assertEqual(self.i.dirty_slots, {0: None, 1: (2, 0, 1)})

    def test_dirty_slots_split_and_stack(self):
        self.i.slots.storage[0] = Slot(2, 0, 1)
        self.i.slots.storage[2] = Slot(1, 0, 4)
        # split
        self.i.select(2, True)
        self.i.select(1)
        self.assertEqual(self.i.dirty_slots, {1: (1, 0, 2), 2: (1, 0, 2)})
        # stack
        self.i.select(2)
        self.i.select(1)
        self.assertEqual(self.i.dirty_slots, {1: (1, 0, 4), 2: None})

    def test_dirty_slots_move_stack(self):
        self.i.slots.storage[0] = Slot(2, 0, 1)
        self.i.select(0, False, True)
        self.assertEqual(self.i.dirty_slots, {0: None})

    def test_dirty_slots_packaging(self):
        self.i.slots.storage[0] = Slot(1, 0, 1)
        self.i.select(0)
        self.i.select(1)
        self.assertEqual(self.i.dirty_slots, {0: None, 1: (1, 0, 1)})
        packets = self.i.packets_for_dirty(self.i.dirty_slots)
        self.assertEqual(packets, '\x67\x01\x00\x00\xff\xff' +\
                                  '\x67\x01\x00\x01\x00\x01\x01\x00\x00')