Пример #1
0
 def test_emptySpareField(self):
     """
     You can't insert a 0-sized spare. It makes no sense, too.
     Just comment the field if you don't need a field anymore.
     """
     spare_desc = ET.fromstring('<field type="spare" bits="0">woot</field>')
     self.assertRaises(ValueError, lambda : structureparser.parse_field(spare_desc))
Пример #2
0
 def test_emptySpareField(self):
     """
     You can't insert a 0-sized spare. It makes no sense, too.
     Just comment the field if you don't need a field anymore.
     """
     spare_desc = ET.fromstring('<field type="spare" bits="0">woot</field>')
     self.assertRaises(ValueError, lambda: structureparser.parse_field(spare_desc))
Пример #3
0
 def test_bool_doesnotexist(self):
     bool_desc = ET.fromstring('<field type="bool25">a_field</field>')
     self.assertRaises(ValueError, lambda : structureparser.parse_field(bool_desc))
Пример #4
0
 def test_spareField(self):
     spare_desc = ET.fromstring('<field type="spare" bits="8">woot</field>')
     parsed_field = structureparser.parse_field(spare_desc)
     self.assertEqual(parsed_field["name"], "woot")
     self.assertEqual(parsed_field["type"], "spare")
     self.assertEqual(parsed_field["bits"], 8)
Пример #5
0
 def test_paddingBits(self):
     padding_desc = ET.fromstring('<field type="padding">dis_not_pudding</field>')
     parsed_field = structureparser.parse_field(padding_desc)
     self.assertEqual(parsed_field["name"], "dis_not_pudding")
     self.assertEqual(parsed_field["type"], "padding")
     self.assertEqual(parsed_field["bits"], 0)
Пример #6
0
 def test_spare_nosize(self):
     spare_desc = ET.fromstring('<field type="spare"></field>')
     result = structureparser.parse_field(spare_desc)
Пример #7
0
 def test_schar(self):
     char_desc = ET.fromstring('<field type="schar">a_field</field>')
     parsed_field = structureparser.parse_field(char_desc)
     self.assertEqual(parsed_field["type"], "schar")
     self.assertEqual(parsed_field["bits"], 8)
Пример #8
0
 def test_bool32(self):
     bool_desc = ET.fromstring('<field type="bool32">a_field</field>')
     parsed_field = structureparser.parse_field(bool_desc)
     self.assertEqual(parsed_field["bits"], 32)
Пример #9
0
 def test_spare_size_ignored_lenght(self):
     parsed_doc = parser.parse_field(ET.fromstring('<field type="spare" lenght="10">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("spare test;", res)
Пример #10
0
 def test_int8_repeated_variable(self):
     parsed_doc = parser.parse_field(ET.fromstring('<field type="uint8" repeated="num_of_nums">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("uint8[num_of_nums] test;", res)
Пример #11
0
 def test_int8_repeated(self):
     parsed_doc = parser.parse_field(ET.fromstring('<field type="uint8" repeated="5">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("uint8[5] test;", res)
Пример #12
0
 def test_int8(self):
     parsed_doc = parser.parse_field(ET.fromstring('<field type="uint8" bits="0">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("uint8 test;", res)
Пример #13
0
 def test_spare_nosize(self):
     parsed_doc = parser.parse_field(
         ET.fromstring('<field type="spare">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("spare test;", res)
Пример #14
0
 def test_spare_size_ignored_lenght(self):
     parsed_doc = parser.parse_field(
         ET.fromstring('<field type="spare" lenght="10">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("spare test;", res)
Пример #15
0
 def test_int8_repeated_variable(self):
     parsed_doc = parser.parse_field(
         ET.fromstring(
             '<field type="uint8" repeated="num_of_nums">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("uint8[num_of_nums] test;", res)
Пример #16
0
 def test_int8_repeated(self):
     parsed_doc = parser.parse_field(
         ET.fromstring('<field type="uint8" repeated="5">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("uint8[5] test;", res)
Пример #17
0
 def test_spareField(self):
     spare_desc = ET.fromstring('<field type="spare" bits="8">woot</field>')
     parsed_field = structureparser.parse_field(spare_desc)
     self.assertEqual(parsed_field["name"], "woot")
     self.assertEqual(parsed_field["type"], "spare")
     self.assertEqual(parsed_field["bits"], 8)
Пример #18
0
 def test_spare_nosize(self):
     parsed_doc = parser.parse_field(ET.fromstring('<field type="spare">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("spare test;", res)
Пример #19
0
 def test_bool_doesnotexist(self):
     bool_desc = ET.fromstring('<field type="bool25">a_field</field>')
     self.assertRaises(ValueError, lambda: structureparser.parse_field(bool_desc))
Пример #20
0
 def test_raw_withsize(self):
     char_desc = ET.fromstring('<field type="raw" lenght="5">a_field</field>')
     parsed_field = structureparser.parse_field(char_desc)
     self.assertEqual(parsed_field["type"], "raw")
     self.assertEqual(parsed_field["bits"], 40)
Пример #21
0
 def test_raw_withsize(self):
     char_desc = ET.fromstring('<field type="raw" lenght="5">a_field</field>')
     parsed_field = structureparser.parse_field(char_desc)
     self.assertEqual(parsed_field["type"], "raw")
     self.assertEqual(parsed_field["bits"], 40)
Пример #22
0
 def test_spare_wrongsize(self):
     spare_desc = ET.fromstring('<field type="spare" bits="a">woot</field>')
     self.assertRaises(ValueError, lambda: structureparser.parse_field(spare_desc))
Пример #23
0
 def test_spare_wrongsize(self):
     spare_desc = ET.fromstring('<field type="spare" bits="a">woot</field>')
     self.assertRaises(ValueError, lambda : structureparser.parse_field(spare_desc))
Пример #24
0
 def test_spare_nosize(self):
     spare_desc = ET.fromstring('<field type="spare"></field>')
     result = structureparser.parse_field(spare_desc)
Пример #25
0
 def test_float64(self):
     float_desc = ET.fromstring('<field type="float64">woot</field>')
     parsed_field = structureparser.parse_field(float_desc)
     self.assertEqual(parsed_field["name"], "woot")
     self.assertEqual(parsed_field["type"], "float64")
     self.assertEqual(parsed_field["bits"], 64)
Пример #26
0
 def test_float64(self):
     float_desc = ET.fromstring('<field type="float64">woot</field>')
     parsed_field = structureparser.parse_field(float_desc)
     self.assertEqual(parsed_field["name"], "woot")
     self.assertEqual(parsed_field["type"], "float64")
     self.assertEqual(parsed_field["bits"], 64)
Пример #27
0
 def test_paddingBits_sizeIsIgnored(self):
     padding_desc = ET.fromstring('<field type="padding" bits="15">dis_not_pudding</field>')
     parsed_field = structureparser.parse_field(padding_desc)
     #`bits` is overridden
     self.assertEqual(parsed_field["bits"], 0) 
Пример #28
0
 def test_paddingBits(self):
     padding_desc = ET.fromstring('<field type="padding">dis_not_pudding</field>')
     parsed_field = structureparser.parse_field(padding_desc)
     self.assertEqual(parsed_field["name"], "dis_not_pudding")
     self.assertEqual(parsed_field["type"], "padding")
     self.assertEqual(parsed_field["bits"], 0)
Пример #29
0
 def test_bool32(self):
     bool_desc = ET.fromstring('<field type="bool32">a_field</field>')
     parsed_field = structureparser.parse_field(bool_desc)
     self.assertEqual(parsed_field["bits"], 32)
Пример #30
0
 def test_paddingBits_sizeIsIgnored(self):
     padding_desc = ET.fromstring('<field type="padding" bits="15">dis_not_pudding</field>')
     parsed_field = structureparser.parse_field(padding_desc)
     # `bits` is overridden
     self.assertEqual(parsed_field["bits"], 0)
Пример #31
0
 def test_schar(self):
     char_desc = ET.fromstring('<field type="schar">a_field</field>')
     parsed_field = structureparser.parse_field(char_desc)
     self.assertEqual(parsed_field["type"], "schar")
     self.assertEqual(parsed_field["bits"], 8)
Пример #32
0
 def test_int8(self):
     parsed_doc = parser.parse_field(
         ET.fromstring('<field type="uint8" bits="0">test</field>'))
     res = ws.build_field(parsed_doc)
     self.assertEqual("uint8 test;", res)