#include "loops.hpp" #include TEST(Loops, SumRange) { EXPECT_EQ(control_flow::sum_range(1, 5), 15); EXPECT_EQ(control_flow::sum_range(5, 5), 5); } TEST(Loops, Factorial) { EXPECT_EQ(control_flow::factorial(0), 1); EXPECT_EQ(control_flow::factorial(5), 120); // Breach of contract EXPECT_DEATH( { (void)control_flow::factorial(-1); }, "contract violation"); } TEST(Loops, CountOccurrences) { EXPECT_EQ(control_flow::count_occurrences({1, 2, 2, 3}, 2), 2); } TEST(Loops, FirstIndexOf) { EXPECT_EQ(control_flow::first_index_of({4, 5, 6}, 5), 1); EXPECT_EQ(control_flow::first_index_of({4, 5, 6}, 9), -1); }