From 17f66dfc0d03dbdf9a7919ae44a4ee7822e4778b Mon Sep 17 00:00:00 2001
From: Jirka Fink <fink@ktiml.mff.cuni.cz>
Date: Wed, 18 Oct 2023 09:48:35 +0200
Subject: [PATCH] Splay operation: add one more test

---
 02-splay_operation/cpp/splay_operation_more_tests.cpp  | 10 ++++++++++
 .../python/splay_operation_more_tests.py               |  8 ++++++++
 2 files changed, 18 insertions(+)

diff --git a/02-splay_operation/cpp/splay_operation_more_tests.cpp b/02-splay_operation/cpp/splay_operation_more_tests.cpp
index f70db3f..fe0c46c 100644
--- a/02-splay_operation/cpp/splay_operation_more_tests.cpp
+++ b/02-splay_operation/cpp/splay_operation_more_tests.cpp
@@ -199,6 +199,16 @@ void test_remove() {
         for (int i = 1; i < elements; i++)
             tree.remove(0);
     }
+    {
+        Node *node = nullptr;
+        for (int i = 1; i < elements; i++)
+            node = new Node(i, nullptr, node, nullptr);
+        node = new Node(0, nullptr, nullptr, node);
+        Tree tree(node);
+
+        for (int i = 1; i < elements; i++)
+            tree.remove(i);
+    }
 }
 
 vector<pair<string, function<void()>>> tests = {
diff --git a/02-splay_operation/python/splay_operation_more_tests.py b/02-splay_operation/python/splay_operation_more_tests.py
index 1ebb8aa..64ea6f8 100644
--- a/02-splay_operation/python/splay_operation_more_tests.py
+++ b/02-splay_operation/python/splay_operation_more_tests.py
@@ -141,6 +141,14 @@ def test_remove():
     for elem in range(elements):
         tree.remove(0)
 
+    node = None
+    for i in range(1, elements):
+        node = Node(i, None, node, None)
+    node = Node(0, None, None, node)
+    tree = Tree(node)
+    for i in range(1, elements):
+        tree.remove(i)
+
 tests = [
     ("splay", test_splay),
     ("lookup", test_lookup),
-- 
GitLab