aboutsummaryrefslogtreecommitdiff
path: root/tests/packet04_loadfield_test.py
blob: a9004be3b6009da46444ad1648e84c5f7e7c1aec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import unittest
import sys
import os

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from lib.PacketManager.packets.FSNETCMD_LOADFIELD import FSNETCMD_LOADFIELD
from struct import pack

class TestFSNETCMD_LOADFIELD(unittest.TestCase):

    def test_decode(self):
        buffer = b'\x04\x00\x00\x00ISLAND_GOURD\x00\xc39\x00\xe0\x1ff\x00\r\x00\x00\x00\r\x00\x00\x00\x10\xc49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
        packet = FSNETCMD_LOADFIELD(buffer)
        self.assertEqual(packet.fieldShortName, 'ISLAND_GOURD')
        self.assertEqual(packet.flags, 0)
        self.assertEqual(packet.pos, [0, 0, 0])
        self.assertEqual(packet.atti, [0, 0,0])

    def test_encode(self):
        field = b'ISLAND_GOURD\x00\xc39\x00\xe0\x1ff\x00\r\x00\x00\x00\r\x00\x00\x00\x10\xc49\x00'
        flags = 0
        pos = [0, 0, 0]
        atti = [0, 0, 0]
        buffer = FSNETCMD_LOADFIELD.encode(field, flags, pos, atti)
        expected_buffer = b'\x04\x00\x00\x00ISLAND_GOURD\x00\xc39\x00\xe0\x1ff\x00\r\x00\x00\x00\r\x00\x00\x00\x10\xc49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
        self.assertEqual(buffer, expected_buffer)

    def test_encode_with_size(self):
        field = b'ISLAND_GOURD\x00\xc39\x00\xe0\x1ff\x00\r\x00\x00\x00\r\x00\x00\x00\x10\xc49\x00'
        flags = 0
        pos = [0, 0, 0]
        atti = [0, 0, 0]
        buffer = FSNETCMD_LOADFIELD.encode(field, flags, pos, atti, with_size=True)
        expected_buffer = b'@\x00\x00\x00\x04\x00\x00\x00ISLAND_GOURD\x00\xc39\x00\xe0\x1ff\x00\r\x00\x00\x00\r\x00\x00\x00\x10\xc49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
        self.assertEqual(buffer, expected_buffer)

if __name__ == '__main__':
    unittest.main()