1 #include <framework/utilities/NumberSequence.h>
2 #include <gtest/gtest.h>
7 TEST(NumberSequenceTest, TestSingleNumber)
10 std::set<int64_t> expected = {3};
11 EXPECT_EQ(sequence, expected);
14 TEST(NumberSequenceTest, TestManyNumbers)
17 std::set<int64_t> expected = {3, 4, 5, 10, 12};
18 EXPECT_EQ(sequence, expected);
21 TEST(NumberSequenceTest, TestNegativeNumbers)
24 std::set<int64_t> expected = { -5, -3, 4, 10, 12};
25 EXPECT_EQ(sequence, expected);
28 TEST(NumberSequenceTest, TestOutOfOrderNumbers)
31 std::set<int64_t> expected = {3, 4, 5, 10, 12};
32 EXPECT_EQ(sequence, expected);
35 TEST(NumberSequenceTest, TestSingleInterval)
38 std::set<int64_t> expected = {3, 4, 5, 6};
39 EXPECT_EQ(sequence, expected);
42 TEST(NumberSequenceTest, TestManyIntervals)
45 std::set<int64_t> expected = {3, 4, 5, 6, 7, 8, 9, 12, 13};
46 EXPECT_EQ(sequence, expected);
49 TEST(NumberSequenceTest, TestOutOfOrderIntervals)
52 std::set<int64_t> expected = {3, 4, 5, 6, 7, 8, 9, 12, 13};
53 EXPECT_EQ(sequence, expected);
56 TEST(NumberSequenceTest, TestOverlappingIntervals)
59 std::set<int64_t> expected = {3, 4, 5, 6, 7, 8};
60 EXPECT_EQ(sequence, expected);
63 TEST(NumberSequenceTest, TestNegativeIntervals)
66 std::set<int64_t> expected = { -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8};
67 EXPECT_EQ(sequence, expected);
70 TEST(NumberSequenceTest, TestReversedIntervalIsEmpty)
73 std::set<int64_t> expected;
74 EXPECT_EQ(sequence, expected);
77 TEST(NumberSequenceTest, TestMixNumbersAndIntervals)
80 std::set<int64_t> expected = {1, 3, 6, 7, 8, 9, 12, 13};
81 EXPECT_EQ(sequence, expected);
84 TEST(NumberSequenceTest, TestWhitespaces)
87 std::set<int64_t> expected = {1, 3, 6, 7, 8, 9, 12, 13};
88 EXPECT_EQ(sequence, expected);