From b77ab8fabdf30a2ed87e484b19a850ba79d84898 Mon Sep 17 00:00:00 2001 From: Elias Carvalho <73039601+eliascarv@users.noreply.github.com> Date: Fri, 8 Nov 2024 11:01:41 -0300 Subject: [PATCH] Add tests (#5) --- test/Project.toml | 3 + test/data/test.tif | Bin 0 -> 30182 bytes test/data/test_gray.tif | Bin 0 -> 11818 bytes test/data/utm.tif | Bin 0 -> 12092 bytes test/runtests.jl | 212 +++++++++++++++++++++++++++++++++++++++- 5 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 test/data/test.tif create mode 100644 test/data/test_gray.tif create mode 100644 test/data/utm.tif diff --git a/test/Project.toml b/test/Project.toml index 0c36332..b5c967d 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -1,2 +1,5 @@ [deps] +ColorTypes = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +FixedPointNumbers = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +TiffImages = "731e570b-9d59-4bfa-96dc-6df516fadf69" diff --git a/test/data/test.tif b/test/data/test.tif new file mode 100644 index 0000000000000000000000000000000000000000..9adde6880e9ee5e782c8ed2f23f191e589523443 GIT binary patch literal 30182 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 literal 0 HcmV?d00001 diff --git a/test/data/test_gray.tif b/test/data/test_gray.tif new file mode 100644 index 0000000000000000000000000000000000000000..e49c70e9a91d1dd9d6a39bca9eeb6b334c90b5a4 GIT binary patch literal 11818 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 Huygs}!@Ad} literal 0 HcmV?d00001 diff --git a/test/data/utm.tif b/test/data/utm.tif new file mode 100644 index 0000000000000000000000000000000000000000..c1d0a0187ba9b49bbeeab243d96a3dcf595b8bec GIT binary patch literal 12092 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