diff --git a/tests/Small_Example_partial_prerendered.png b/tests/Small_Example_partial_prerendered.png new file mode 100644 index 0000000..a6b3a51 --- /dev/null +++ b/tests/Small_Example_partial_prerendered.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28fbe2b613ddb49e9bf63dc055a63a7f91323ff26fb74b3c810bf7166541f660 +size 17709 diff --git a/tests/test_flyingsnake.py b/tests/test_flyingsnake.py index ff9b61f..93f10c2 100644 --- a/tests/test_flyingsnake.py +++ b/tests/test_flyingsnake.py @@ -2,10 +2,34 @@ import pytest import flyingsnake from click.testing import CliRunner from PIL import Image +import hashlib # Main integration test def test_full_render(): runner = CliRunner() result = runner.invoke(flyingsnake.flyingsnake, ["./tests/Small_Example.wld", "./tests/Small_Example_full.png"]) - assert Image.open("./tests/Small_Example_full.png") == Image.open("./tests/Small_Example_full_prerendered.png") + assert result.exit_code == 0 + + with open("Small_Example_full_prerendered.png") as prerendered: + prerendered_hash = hashlib.sha1(prerendered) + with open("Small_Example_full.png") as created: + created_hash = hashlib.sha1(created) + assert prerendered_hash.hexdigest() == created_hash.hexdigest() + + +def test_partial_render(): + runner = CliRunner() + result = runner.invoke(flyingsnake.flyingsnake, + ["./tests/Small_Example.wld", "./tests/Small_Example_partial.png", + "-x", "100", + "-y", "600", + "-w", "321", + "-h", "123"]) + assert result.exit_code == 0 + + with open("Small_Example_partial_prerendered.png") as prerendered: + prerendered_hash = hashlib.sha1(prerendered) + with open("Small_Example_partial.png") as created: + created_hash = hashlib.sha1(created) + assert prerendered_hash.hexdigest() == created_hash.hexdigest()