def test_decode_submsg(self): file = open('fudgemsg/tests/data/subMsg.dat', 'r') bytes = file.read() e = Envelope.decode(bytes) m = e.message self.assertEquals(2, len(m.fields)) self.assertTrue(m.fields[0].is_type(types.FUDGEMSG_TYPE_ID)) self.assertEquals(u'sub1', m.fields[0].name) self.assertTrue(m.fields[1].is_type(types.FUDGEMSG_TYPE_ID)) self.assertEquals(u'sub2', m.fields[1].name) sub1 = m.fields[0].value sub2 = m.fields[1].value self.assertEquals(2, len(sub1.fields)) self.assertTrue(sub1.fields[0].is_type(types.STRING_TYPE_ID)) self.assertEquals(u'bibble', sub1.fields[0].name) self.assertEquals(None, sub1.fields[0].ordinal) self.assertEquals(u'fibble', sub1.fields[0].value) self.assertTrue(sub1.fields[1].is_type(types.STRING_TYPE_ID)) self.assertEquals(None, sub1.fields[1].name) self.assertEquals(827, sub1.fields[1].ordinal) self.assertEquals(u'Blibble', sub1.fields[1].value) self.assertEquals(2, len(sub2.fields)) self.assertTrue(sub2.fields[0].is_type(types.INT_TYPE_ID)) self.assertEquals(u'bibble9', sub2.fields[0].name) self.assertEquals(None, sub2.fields[0].ordinal) self.assertEquals(9837438, sub2.fields[0].value) self.assertTrue(sub2.fields[1].is_type(types.FLOAT_TYPE_ID)) self.assertEquals(None, sub2.fields[1].name) self.assertEquals(828, sub2.fields[1].ordinal) self.assertAlmostEquals(82.769997, sub2.fields[1].value, 6)
def test_decode_encode_deeper(self): """decode then encode the deeper_fudge_msg. Check they are the same. """ foo = open('fudgemsg/tests/data/deeper_fudge_msg.dat', 'r') expected = foo.read() foo.close() e = Envelope.decode(expected) writer = cStringIO.StringIO() e.encode(writer) bytes = writer.getvalue() self.assertEquals(len(expected), len(bytes)) self.assertEquals(expected, bytes)
def test_decode_encode_deeper(self): """decode then encode the deeper_fudge_msg. Check they are the same. """ foo = open("fudgemsg/tests/data/deeper_fudge_msg.dat", "r") expected = foo.read() foo.close() e = Envelope.decode(expected) writer = cStringIO.StringIO() e.encode(writer) bytes = writer.getvalue() self.assertEquals(len(expected), len(bytes)) self.assertEquals(expected, bytes)
def test_simpletest(self): """Equivalent to the examples/simpletest""" MSG_TYPE = registry.DEFAULT_REGISTRY[types.FUDGEMSG_TYPE_ID] message = Message() message.add(MY_NAME, name=u"name") message.add(19801231L, ordinal=4, name=u"dob") submsg = Message() for line, ordinal in zip(ADDRESS, range(len(ADDRESS))): submsg.add(line, ordinal=ordinal) message.add(submsg, name=u"address") e = Envelope(message) writer = cStringIO.StringIO() e.encode(writer) bytes = writer.getvalue() self.assertEquals(110, len(bytes)) returned = Envelope.decode(bytes) self.assertEquals(0, returned.schema_version) self.assertEquals(0, returned.directives) returned_message = returned.message self.assertEquals(3, len(returned_message.fields)) f0 = returned_message.fields[0] self.assertEquals(u'name', f0.name) self.assertEquals(None, f0.ordinal) self.assertEquals(MY_NAME, f0.value) f1 = returned_message.fields[1] self.assertEquals(u'dob', f1.name) self.assertEquals(4, f1.ordinal) self.assertEquals(19801231L, f1.value) submsg = returned_message.fields[2] self.assertEquals(u'address', submsg.name) self.assertEquals(None, submsg.ordinal) self.assertEquals(4, len(submsg.value.fields))
def test_simpletest(self): """Equivalent to the examples/simpletest""" MSG_TYPE = registry.DEFAULT_REGISTRY[types.FUDGEMSG_TYPE_ID] message = Message() message.add(MY_NAME, name=u"name") message.add(19801231L, ordinal=4, name=u"dob" ) submsg = Message() for line, ordinal in zip(ADDRESS, range(len(ADDRESS))): submsg.add(line, ordinal=ordinal) message.add(submsg, name=u"address") e = Envelope(message) writer = cStringIO.StringIO() e.encode(writer) bytes = writer.getvalue() self.assertEquals(110, len(bytes)) returned = Envelope.decode(bytes) self.assertEquals(0, returned.schema_version) self.assertEquals(0, returned.directives) returned_message = returned.message self.assertEquals(3, len(returned_message.fields)) f0 = returned_message.fields[0] self.assertEquals(u'name', f0.name) self.assertEquals(None, f0.ordinal) self.assertEquals(MY_NAME, f0.value) f1 = returned_message.fields[1] self.assertEquals(u'dob', f1.name) self.assertEquals(4, f1.ordinal) self.assertEquals(19801231L, f1.value) submsg = returned_message.fields[2] self.assertEquals(u'address', submsg.name) self.assertEquals(None, submsg.ordinal) self.assertEquals(4, len(submsg.value.fields))