diff --git a/tests/test_parser.py b/tests/test_parser.py
index 8591e4a..df418cf 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -55,36 +55,18 @@ def test_color_parsing(test_input, expected):
assert utilities.parse_color(test_input) == expected
-data_csv = [
+layer_data = [
(
- "\n1,2,3,4,5,6,7,8,\n"
- "9,10,11,12,13,14,15,16,\n"
- "17,18,19,20,21,22,23,24,\n"
- "25,26,27,28,29,30,31,32,\n"
- "33,34,35,36,37,38,39,40,\n"
- "41,42,43,44,45,46,47,48\n",
- [
- [1, 2, 3, 4, 5, 6, 7, 8],
- [9, 10, 11, 12, 13, 14, 15, 16],
- [17, 18, 19, 20, 21, 22, 23, 24],
- [25, 26, 27, 28, 29, 30, 31, 32],
- [33, 34, 35, 36, 37, 38, 39, 40],
- [41, 42, 43, 44, 45, 46, 47, 48],
- ],
- ),
- ("\n0,0,0,0,0\n", [[0, 0, 0, 0, 0]]),
-]
-
-
-@pytest.mark.parametrize("data_csv,expected", data_csv)
-def test_decode_csv_data(data_csv, expected):
- assert xml_parser._decode_csv_data(data_csv) == expected
-
-
-DATA_BASE64 = [
- (
- "AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAA",
+ etree.fromstring(
+ "\n1,2,3,4,5,6,7,8,\n"
+ "9,10,11,12,13,14,15,16,\n"
+ "17,18,19,20,21,22,23,24,\n"
+ "25,26,27,28,29,30,31,32,\n"
+ "33,34,35,36,37,38,39,40,\n"
+ "41,42,43,44,45,46,47,48\n"
+ ),
8,
+ "csv",
None,
[
[1, 2, 3, 4, 5, 6, 7, 8],
@@ -97,8 +79,36 @@ DATA_BASE64 = [
does_not_raise(),
),
(
- "eJwNwwUSgkAAAMAzEQOwUCzExPb/r2N3ZlshhLYdu/bsGzkwdujIsRMTUzOnzpy7cGnuyrWFG7fu3Huw9GjlybMXr968W/vw6cu3H7/+/NsAMw8EmQ==",
+ etree.fromstring("\n0,0,0,0,0\n"),
+ 5,
+ "csv",
+ None,
+ [[0, 0, 0, 0, 0]],
+ does_not_raise(),
+ ),
+ (
+ etree.fromstring(
+ "AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAA"
+ ),
8,
+ "base64",
+ None,
+ [
+ [1, 2, 3, 4, 5, 6, 7, 8],
+ [9, 10, 11, 12, 13, 14, 15, 16],
+ [17, 18, 19, 20, 21, 22, 23, 24],
+ [25, 26, 27, 28, 29, 30, 31, 32],
+ [33, 34, 35, 36, 37, 38, 39, 40],
+ [41, 42, 43, 44, 45, 46, 47, 48],
+ ],
+ does_not_raise(),
+ ),
+ (
+ etree.fromstring(
+ "eJwNwwUSgkAAAMAzEQOwUCzExPb/r2N3ZlshhLYdu/bsGzkwdujIsRMTUzOnzpy7cGnuyrWFG7fu3Huw9GjlybMXr968W/vw6cu3H7/+/NsAMw8EmQ=="
+ ),
+ 8,
+ "base64",
"zlib",
[
[1, 2, 3, 4, 5, 6, 7, 8],
@@ -111,8 +121,11 @@ DATA_BASE64 = [
does_not_raise(),
),
(
- "H4sIAAAAAAAAAw3DBRKCQAAAwDMRA7BQLMTE9v+vY3dmWyGEth279uwbOTB26MixExNTM6fOnLtwae7KtYUbt+7ce7D0aOXJsxev3rxb+/Dpy7cfv/782wAcvDirwAAAAA==",
+ etree.fromstring(
+ "H4sIAAAAAAAAAw3DBRKCQAAAwDMRA7BQLMTE9v+vY3dmWyGEth279uwbOTB26MixExNTM6fOnLtwae7KtYUbt+7ce7D0aOXJsxev3rxb+/Dpy7cfv/782wAcvDirwAAAAA=="
+ ),
8,
+ "base64",
"gzip",
[
[1, 2, 3, 4, 5, 6, 7, 8],
@@ -125,8 +138,9 @@ DATA_BASE64 = [
does_not_raise(),
),
(
- "SGVsbG8gV29ybGQh",
+ etree.fromstring("SGVsbG8gV29ybGQh"),
8,
+ "base64",
"lzma",
[
[1, 2, 3, 4, 5, 6, 7, 8],
@@ -138,19 +152,41 @@ DATA_BASE64 = [
],
pytest.raises(ValueError),
),
+ (
+ etree.fromstring(
+ "/ .---- --..-- ..--- --..-- ...-- --..-- ....- --..-- ..... --..-- -.... --..-- --... --..-- ---.. --..-- / ----. --..-- .---- ----- --..-- .---- .---- --..-- .---- ..--- --..-- .---- ...-- --..-- .---- ....- --..-- .---- ..... --..-- .---- -.... --..-- / .---- --... --..-- .---- ---.. --..-- .---- ----. --..-- ..--- ----- --..-- ..--- .---- --..-- ..--- ..--- --..-- ..--- ...-- --..-- ..--- ....- --..-- / ..--- ..... --..-- ..--- -.... --..-- ..--- --... --..-- ..--- ---.. --..-- ..--- ----. --..-- ...-- ----- --..-- ...-- .---- --..-- ...-- ..--- --..-- / ...-- ...-- --..-- ...-- ....- --..-- ...-- ..... --..-- ...-- -.... --..-- ...-- --... --..-- ...-- ---.. --..-- ...-- ----. --..-- ....- ----- --..-- / ....- .---- --..-- ....- ..--- --..-- ....- ...-- --..-- ....- ....- --..-- ....- ..... --..-- ....- -.... --..-- ....- --... --..-- ....- ---.."
+ ),
+ 8,
+ "morse",
+ None,
+ [
+ [1, 2, 3, 4, 5, 6, 7, 8],
+ [9, 10, 11, 12, 13, 14, 15, 16],
+ [17, 18, 19, 20, 21, 22, 23, 24],
+ [25, 26, 27, 28, 29, 30, 31, 32],
+ [33, 34, 35, 36, 37, 38, 39, 40],
+ [41, 42, 43, 44, 45, 46, 47, 48],
+ ],
+ pytest.raises(ValueError),
+ ),
]
-@pytest.mark.parametrize("data_base64,width,compression,expected,raises", DATA_BASE64)
-def test_decode_base64_data(data_base64, width, compression, expected, raises):
+@pytest.mark.parametrize(
+ "layer_data,width,encoding,compression,expected,raises", layer_data
+)
+def test_decode_layer_data(layer_data, width, encoding, compression, expected, raises):
with raises:
assert (
- xml_parser._decode_base64_data(data_base64, width, compression) == expected
+ xml_parser._decode_tile_layer_data(layer_data, width, encoding, compression)
+ == expected
)
# FIXME: use hypothesis for this
def create_tile_set(qty_of_tiles):
+ """ Create tile set of specific size.
+ """
tile_set = objects.TileSet(None, None)
if qty_of_tiles == 0: