def test_1(self): layout = Layout('dark-blue', [['rounded', 'red'], ['chamfered', 'matt'], ['pointy', 'anodized', 'black'], ['bevelled', 'twisted', 'plastic-coated']], ['red', 'burnt-ochre', 'orange'], np.array([99, 42, 123], dtype=np.uint32), Rectangle(210, 297), np.array([(20, 30), (40, 50)], dtype=RectangleDType)) xml = X.serialize(layout, 'layout') xml_str = XU.str_from_xml_elt(xml) expected_str = remove_whitespace( """<layout> <colour>dark-blue</colour> <corner-properties> <corner> <prop>rounded</prop> <prop>red</prop> </corner> <corner> <prop>chamfered</prop> <prop>matt</prop> </corner> <corner> <prop>pointy</prop> <prop>anodized</prop> <prop>black</prop> </corner> <corner> <prop>bevelled</prop> <prop>twisted</prop> <prop>plastic-coated</prop> </corner> </corner-properties> <stripes> <stripe-colour>red</stripe-colour> <stripe-colour>burnt-ochre</stripe-colour> <stripe-colour>orange</stripe-colour> </stripes> <product-id-codes>99,42,123</product-id-codes> <shape> <width>210</width> <height>297</height> </shape> <components> <rect> <width>20</width> <height>30</height> </rect> <rect> <width>40</width> <height>50</height> </rect> </components> </layout>""") assert xml_str == expected_str X.deserialize(Layout, xml, 'layout')
def test_serialization(self): obj = self.make_example() xml_elt = X.serialize(obj, 'fancy-rect') xml_str = to_unicode(xml_elt) exp_str = remove_whitespace( '''<fancy-rect> <width>99</width> <height>100</height> <colour>red</colour> <stripes>3,4,5</stripes> </fancy-rect>''') assert xml_str == exp_str
def test_1(self): serialized_xml = X.serialize(self.rect, 'rect') assert XU.str_from_xml_elt(serialized_xml) == expected_rect_xml(42, 123) rect_round_trip = X.deserialize(Rectangle, serialized_xml, 'rect') assert rect_round_trip == self.rect