def read_fixture(self, _name_header, _read_name_text): name_table = _NameTable(None, None, None, None) bufr, idx, strs_offset, platform_id, name_id = "buffer", 3, 47, 0, 1 encoding_id, name_str_offset, length, name = 7, 36, 12, "Arial" _name_header.return_value = ( platform_id, encoding_id, 666, name_id, length, name_str_offset, ) _read_name_text.return_value = name expected_value = (platform_id, name_id, name) return ( name_table, bufr, idx, strs_offset, platform_id, encoding_id, name_str_offset, length, expected_value, )
def raw_fixture(self): name_table = _NameTable(None, None, None, None) bufr = b"xXxFoobarxXx" strings_offset, str_offset, length = 1, 2, 6 expected_bytes = b"Foobar" return (name_table, bufr, strings_offset, str_offset, length, expected_bytes)
def iter_fixture(self, _table_header_, _table_bytes_, _read_name): name_table = _NameTable(None, None, None, None) _table_header_.return_value = (0, 3, 42) _table_bytes_.return_value = "xXx" _read_name.side_effect = [(0, 1, "Foobar"), (3, 1, "Barfoo"), (9, 9, None)] expected_calls = [call("xXx", 0, 42), call("xXx", 1, 42), call("xXx", 2, 42)] expected_names = [((0, 1), "Foobar"), ((3, 1), "Barfoo")] return name_table, expected_calls, expected_names
def names_fixture(self, _iter_names_): name_table = _NameTable(None, None, None, None) _iter_names_.return_value = iter([ ((0, 1), 'Foobar'), ((3, 1), 'Barfoo'), ]) names_dict = {(0, 1): 'Foobar', (3, 1): 'Barfoo'} return name_table, names_dict
def name_text_fixture(self, _raw_name_string_, _decode_name_): name_table = _NameTable(None, None, None, None) bufr, platform_id, encoding_id, strings_offset = 'xXx', 6, 7, 8 name_str_offset, length, raw_name = 9, 10, 'Foobar' _raw_name_string_.return_value = raw_name name_ = _decode_name_.return_value return (name_table, bufr, platform_id, encoding_id, strings_offset, name_str_offset, length, raw_name, name_)
def raw_fixture(self): name_table = _NameTable(None, None, None, None) bufr = b'xXxFoobarxXx' strings_offset, str_offset, length = 1, 2, 6 expected_bytes = b'Foobar' return ( name_table, bufr, strings_offset, str_offset, length, expected_bytes )
def name_hdr_fixture(self): name_table = _NameTable(None, None, None, None) bufr = ( b'123456' b'123456789012' b'\x00\x00' b'\x00\x01' b'\x00\x02' b'\x00\x03' b'\x00\x04' b'\x00\x05' ) idx = 1 expected_value = (0, 1, 2, 3, 4, 5) return name_table, bufr, idx, expected_value
def name_text_fixture(self, _raw_name_string_, _decode_name_): name_table = _NameTable(None, None, None, None) bufr, platform_id, encoding_id, strings_offset = 'xXx', 6, 7, 8 name_str_offset, length, raw_name = 9, 10, 'Foobar' _raw_name_string_.return_value = raw_name name_ = _decode_name_.return_value return ( name_table, bufr, platform_id, encoding_id, strings_offset, name_str_offset, length, raw_name, name_ )
def name_hdr_fixture(self): name_table = _NameTable(None, None, None, None) bufr = (b'123456' b'123456789012' b'\x00\x00' b'\x00\x01' b'\x00\x02' b'\x00\x03' b'\x00\x04' b'\x00\x05') idx = 1 expected_value = (0, 1, 2, 3, 4, 5) return name_table, bufr, idx, expected_value
def iter_fixture(self, _table_header_, _table_bytes_, _read_name): name_table = _NameTable(None, None, None, None) _table_header_.return_value = (0, 3, 42) _table_bytes_.return_value = "xXx" _read_name.side_effect = [(0, 1, "Foobar"), (3, 1, "Barfoo"), (9, 9, None)] expected_calls = [ call("xXx", 0, 42), call("xXx", 1, 42), call("xXx", 2, 42) ] expected_names = [((0, 1), "Foobar"), ((3, 1), "Barfoo")] return name_table, expected_calls, expected_names
def name_hdr_fixture(self): name_table = _NameTable(None, None, None, None) bufr = (b"123456" b"123456789012" b"\x00\x00" b"\x00\x01" b"\x00\x02" b"\x00\x03" b"\x00\x04" b"\x00\x05") idx = 1 expected_value = (0, 1, 2, 3, 4, 5) return name_table, bufr, idx, expected_value
def it_provides_access_to_its_names_to_help_props(self, request): _iter_names_ = method_mock( request, _NameTable, "_iter_names", return_value=iter([((0, 1), "Foobar"), ((3, 1), "Barfoo")]), ) name_table = _NameTable(None, None, None, None) names = name_table._names _iter_names_.assert_called_once_with(name_table) assert names == {(0, 1): "Foobar", (3, 1): "Barfoo"}
def name_hdr_fixture(self): name_table = _NameTable(None, None, None, None) bufr = ( b"123456" b"123456789012" b"\x00\x00" b"\x00\x01" b"\x00\x02" b"\x00\x03" b"\x00\x04" b"\x00\x05" ) idx = 1 expected_value = (0, 1, 2, 3, 4, 5) return name_table, bufr, idx, expected_value
def iter_fixture(self, _table_header_, _table_bytes_, _read_name): name_table = _NameTable(None, None, None, None) _table_header_.return_value = (0, 3, 42) _table_bytes_.return_value = 'xXx' _read_name.side_effect = [ (0, 1, 'Foobar'), (3, 1, 'Barfoo'), (9, 9, None), ] expected_calls = [ call('xXx', 0, 42), call('xXx', 1, 42), call('xXx', 2, 42), ] expected_names = [((0, 1), 'Foobar'), ((3, 1), 'Barfoo')] return name_table, expected_calls, expected_names
def iter_fixture(self, _table_header_, _table_bytes_, _read_name): name_table = _NameTable(None, None, None, None) _table_header_.return_value = (0, 3, 42) _table_bytes_.return_value = 'xXx' _read_name.side_effect = [ (0, 1, 'Foobar'), (3, 1, 'Barfoo'), (9, 9, None), ] expected_calls = [ call('xXx', 0, 42), call('xXx', 1, 42), call('xXx', 2, 42), ] expected_names = [ ((0, 1), 'Foobar'), ((3, 1), 'Barfoo') ] return name_table, expected_calls, expected_names
def it_reads_a_name_to_help_read_names(self, request): bufr, idx, strs_offset, platform_id, name_id = "buffer", 3, 47, 0, 1 encoding_id, name_str_offset, length, name = 7, 36, 12, "Arial" _name_header_ = method_mock( request, _NameTable, "_name_header", autospec=False, return_value=( platform_id, encoding_id, 666, name_id, length, name_str_offset, ), ) _read_name_text_ = method_mock(request, _NameTable, "_read_name_text", return_value=name) name_table = _NameTable(None, None, None, None) actual = name_table._read_name(bufr, idx, strs_offset) _name_header_.assert_called_once_with(bufr, idx) _read_name_text_.assert_called_once_with( name_table, bufr, platform_id, encoding_id, strs_offset, name_str_offset, length, ) assert actual == (platform_id, name_id, name)
def it_iterates_over_its_names_to_help_read_names(self, request, _table_bytes_prop_): property_mock(request, _NameTable, "_table_header", return_value=(0, 3, 42)) _table_bytes_prop_.return_value = "xXx" _read_name_ = method_mock( request, _NameTable, "_read_name", side_effect=iter([(0, 1, "Foobar"), (3, 1, "Barfoo"), (9, 9, None)]), ) name_table = _NameTable(None, None, None, None) names = list(name_table._iter_names()) assert _read_name_.call_args_list == [ call(name_table, "xXx", 0, 42), call(name_table, "xXx", 1, 42), call(name_table, "xXx", 2, 42), ] assert names == [((0, 1), "Foobar"), ((3, 1), "Barfoo")]
def names_fixture(self, _iter_names_): name_table = _NameTable(None, None, None, None) _iter_names_.return_value = iter([((0, 1), "Foobar"), ((3, 1), "Barfoo")]) names_dict = {(0, 1): "Foobar", (3, 1): "Barfoo"} return name_table, names_dict
def bytes_fixture(self, stream_): name_table = _NameTable(None, stream_, 42, 360) bytes_ = "\x00\x01\x02\x03\x04\x05" stream_.read.return_value = bytes_ expected_value = bytes_ return name_table, expected_value
def family_fixture(self, request, _names_): names, expected_value = request.param name_table = _NameTable(None, None, None, None) _names_.return_value = names return name_table, expected_value
def header_fixture(self, _table_bytes_): name_table = _NameTable(None, None, None, None) _table_bytes_.return_value = b"\x00\x00\x00\x02\x00\x2A" expected_value = (0, 2, 42) return name_table, expected_value
def decode_fixture(self, request): platform_id, encoding_id, raw_name, expected_value = request.param name_table = _NameTable(None, None, None, None) return name_table, raw_name, platform_id, encoding_id, expected_value