From ed791d96f20550211b8657fa21bf5ca6abb9eb32 Mon Sep 17 00:00:00 2001 From: haxala1r Date: Fri, 3 Oct 2025 22:29:40 +0300 Subject: [PATCH] Added nested lists test --- src/tests/test.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/tests/test.cpp b/src/tests/test.cpp index 6960147..cddd63f 100644 --- a/src/tests/test.cpp +++ b/src/tests/test.cpp @@ -46,7 +46,22 @@ TEST_CASE("Parser parses correctly", "[Parser]") { REQUIRE(get(pop_and_front(dq)).value == "-"); REQUIRE(get(pop_and_front(dq)).value == "-."); REQUIRE(get(pop_and_front(dq)).value == ".-"); + } + SECTION("Nested lists") { + Parser p(Lexer("((((0) (1) (2) (3))))")); + auto l0 = get(*p.next()).list; + auto l1 = get(pop_and_front(l0)).list; + auto l2 = get(pop_and_front(l1)).list; + auto l20 = get(pop_and_front(l2)).list; + auto l21 = get(pop_and_front(l2)).list; + auto l22 = get(pop_and_front(l2)).list; + auto l23 = get(pop_and_front(l2)).list; + + REQUIRE(get(pop_and_front(l20)).value == 0); + REQUIRE(get(pop_and_front(l21)).value == 1); + REQUIRE(get(pop_and_front(l22)).value == 2); + REQUIRE(get(pop_and_front(l23)).value == 3); } }