From c3c092e2ee64612b50dea010cc4e1ef54d27c31e Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Sun, 12 Apr 2015 15:14:12 +0200 Subject: Add additional unit test to TokenStackTest making sure that the returned token lists are actually sorted correctly --- test/core/parser/stack/TokenStackTest.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test') diff --git a/test/core/parser/stack/TokenStackTest.cpp b/test/core/parser/stack/TokenStackTest.cpp index c14de1c..bca16ec 100644 --- a/test/core/parser/stack/TokenStackTest.cpp +++ b/test/core/parser/stack/TokenStackTest.cpp @@ -75,5 +75,24 @@ TEST(TokenStack, lookup) ASSERT_EQ(1U, descr.shortForm.size()); ASSERT_EQ(ListC[1], descr.shortForm[0]); } + +TEST(TokenStack, sorting) +{ + TokenStack ts; + std::vector descrs; + descrs.insert(descrs.end(), ListC.begin(), ListC.end()); + descrs.insert(descrs.end(), ListA.begin(), ListA.end()); + descrs.insert(descrs.end(), ListB.begin(), ListB.end()); + ts.pushTokens(descrs); + + TokenDescriptor descr = ts.lookup(3); + ASSERT_EQ(1U, descr.open.size()); + ASSERT_EQ(0U, descr.close.size()); + ASSERT_EQ(2U, descr.shortForm.size()); + ASSERT_EQ(ListA[2], descr.open[0]); + ASSERT_EQ(ListB[1], descr.shortForm[0]); + ASSERT_EQ(ListC[1], descr.shortForm[1]); +} + } } -- cgit v1.2.3