Example #1
0
 def test_save_records(self, tmppath, datapath):
     path_out = tmppath / 'bytes.ascii_hex'
     path_ref = datapath / 'bytes.ascii_hex'
     records = list(Record.split(BYTES))
     Record.save_records(str(path_out), records)
     ans_out = read_text(path_out)
     ans_ref = read_text(path_ref)
     assert ans_out == ans_ref
Example #2
0
    def test_split(self):
        with pytest.raises(ValueError):
            list(Record.split(BYTES, address=-1))

        with pytest.raises(ValueError):
            list(Record.split(BYTES, address=(1 << 16)))

        with pytest.raises(ValueError):
            list(Record.split(BYTES, address=((1 << 16) - 128)))

        with pytest.raises(ValueError):
            list(Record.split(BYTES, columns=256))

        ans_out = list(Record.split(HEXBYTES))
        ans_ref = [
            Record(0, None, None, None),
            Record(None, None, HEXBYTES, None),
            Record(None, None, None, sum(HEXBYTES)),
        ]
        assert ans_out == ans_ref

        ans_out = list(Record.split(HEXBYTES, standalone=False))
        ans_ref = [
            Record(0, None, HEXBYTES, None),
        ]
        assert ans_out == ans_ref

        ans_out = list(Record.split(HEXBYTES, standalone=False,
                                    address=7, columns=5, align=3))
        ans_ref = [
            Record.build_data(7, HEXBYTES[:4]),
            Record.build_data(11, HEXBYTES[4:9]),
            Record.build_data(16, HEXBYTES[9:14]),
            Record.build_data(21, HEXBYTES[14:]),
        ]
        assert ans_out == ans_ref
Example #3
0
 def test_load_records(self, datapath):
     path_ref = datapath / 'bytes.ascii_hex'
     ans_out = list(Record.load_records(str(path_ref)))
     ans_ref = list(Record.split(BYTES))
     assert ans_out == ans_ref