def test_decode_none_values_for_missed_ones(self): msg = f('A|||B') res = ['A', None, None, 'B'] self.assertEqual(res, codec.decode_record(msg, 'ascii')) msg = f('A|B^^C^D^^E|F') res = ['A', ['B', None, 'C', 'D', None, 'E'], 'F'] self.assertEqual(res, codec.decode_record(msg, 'ascii'))
def test_decode_none_values_for_missed_ones(self): msg = f("A|||B") res = ["A", None, None, "B"] self.assertEqual(res, codec.decode_record(msg, "ascii")) msg = f("A|B^^C^D^^E|F") res = ["A", ["B", None, "C", "D", None, "E"], "F"] self.assertEqual(res, codec.decode_record(msg, "ascii"))
def test_decode_with_repeated_components(self): msg = f('A|B^C\D^E|F') res = ['A', [['B', 'C'], ['D', 'E']], 'F'] self.assertEqual(res, codec.decode_record(msg, 'ascii'))
def test_decode(self): msg = f('P|1|2776833|||ABC||||||||||||||||||||') res = ['P', '1', '2776833', None, None, 'ABC'] + [None] * 20 self.assertEqual(res, codec.decode_record(msg, 'ascii'))
def test_encode_record(self): msg = b'A|B^C\D^E|F^G|H' record = codec.decode_record(msg, 'ascii') self.assertEqual(msg, codec.encode_record(record, 'ascii'))
def test_decode_nonascii_chars_as_unicode(self): msg = f('привет|мир|!', 'utf8') res = [u('привет'), u('мир'), '!'] self.assertEqual(res, codec.decode_record(msg, 'utf8'))
# -*- coding: utf-8 -*- # # Copyright (C) 2012 Alexander Shorin # All rights reserved. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. # import datetime import unittest from astm import codec from astm import omnilab from astm.constants import ENCODING decode_record = lambda r: codec.decode_record(r.encode(), ENCODING) encode_record = lambda r: codec.encode_record(r, ENCODING) class OmnilabTestCase(unittest.TestCase): def test_header_request(self): data = 'H|\^&|||HOST^1.0.0|||||||P|E 1394-97|20091116104731' header = omnilab.client.Header(*decode_record(data)) self.assertEqual(header.type, 'H') self.assertEqual(header.sender.name, 'HOST') self.assertEqual(header.sender.version, '1.0.0') self.assertEqual(header.version, 'E 1394-97') self.assertEqual(header.timestamp, datetime.datetime(2009, 11, 16, 10, 47, 31))
# -*- coding: utf-8 -*- # # Copyright (C) 2012 Alexander Shorin # All rights reserved. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. # import datetime import unittest from astm import codec from astm import omnilab from astm.constants import ENCODING decode_record = lambda r: codec.decode_record(r.encode(), ENCODING) encode_record = lambda r: codec.encode_record(r, ENCODING) class OmnilabTestCase(unittest.TestCase): def test_header_request(self): data = 'H|\^&|||HOST^1.0.0|||||||P|E 1394-97|20091116104731' header = omnilab.client.Header(*decode_record(data)) self.assertEqual(header.type, 'H') self.assertEqual(header.sender.name, 'HOST') self.assertEqual(header.sender.version, '1.0.0') self.assertEqual(header.version, 'E 1394-97') self.assertEqual(header.timestamp, datetime.datetime(2009, 11, 16, 10, 47, 31)) def test_header_response(self):
def test_decode_with_repeated_components(self): msg = f("A|B^C\D^E|F") res = ["A", [["B", "C"], ["D", "E"]], "F"] self.assertEqual(res, codec.decode_record(msg, "ascii"))
def test_decode(self): msg = f("P|1|2776833|||ABC||||||||||||||||||||") res = ["P", "1", "2776833", None, None, "ABC"] + [None] * 20 self.assertEqual(res, codec.decode_record(msg, "ascii"))
def test_encode_record(self): msg = b"A|B^C\D^E|F^G|H" record = codec.decode_record(msg, "ascii") self.assertEqual(msg, codec.encode_record(record, "ascii"))
def test_decode_nonascii_chars_as_unicode(self): msg = f("привет|мир|!", "utf8") res = [u("привет"), u("мир"), "!"] self.assertEqual(res, codec.decode_record(msg, "utf8"))