From 925f8d7176c3d54d435896ec0d2eabda634bbcc8 Mon Sep 17 00:00:00 2001
From: pacien
Date: Mon, 3 Dec 2018 18:42:23 +0100
Subject: merge tests
---
tests/lzss/tmatchring.nim | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 tests/lzss/tmatchring.nim
(limited to 'tests/lzss/tmatchring.nim')
diff --git a/tests/lzss/tmatchring.nim b/tests/lzss/tmatchring.nim
new file mode 100644
index 0000000..ccf3856
--- /dev/null
+++ b/tests/lzss/tmatchring.nim
@@ -0,0 +1,35 @@
+# gzip-like LZSS compressor
+# Copyright (C) 2018 Pacien TRAN-GIRARD
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+
+import unittest, sequtils, algorithm
+import lzss/matchring
+
+suite "matchring":
+ test "items (empty)":
+ var ring = initMatchRing()
+ check toSeq(ring.items).len == 0
+
+ test "addMatch, items (partial)":
+ var ring = initMatchRing()
+ let items = [0, 1, 2]
+ for i in items: ring.addMatch(i)
+ check toSeq(ring.items) == items.reversed()
+
+ test "addMatch, items (rolling)":
+ var ring = initMatchRing()
+ let items = toSeq(0..13)
+ for i in items: ring.addMatch(i)
+ check toSeq(ring.items) == items[^matchLimit..