Files
cpp-course/modules/02_control_flow/test/switch_statements_test.cpp
T

25 lines
851 B
C++
Raw Normal View History

2026-08-11 17:40:36 +03:00
#include "switch_statements.hpp"
#include <gtest/gtest.h>
TEST(SwitchStatements, ParseOperation) {
EXPECT_EQ(control_flow::parse_operation('+'), control_flow::Operation::Add);
EXPECT_EQ(control_flow::parse_operation('?'), control_flow::Operation::Unknown);
}
TEST(SwitchStatements, ApplyOperation) {
EXPECT_EQ(control_flow::apply_operation(control_flow::Operation::Add, 2, 3), 5);
EXPECT_EQ(control_flow::apply_operation(control_flow::Operation::Multiply, 4, 5), 20);
2026-08-12 14:58:20 +03:00
// Breach of contract
EXPECT_DEATH(
{
(void)control_flow::apply_operation(control_flow::Operation::Unknown, 2, 3);
},
"contract violation");
2026-08-11 17:40:36 +03:00
}
TEST(SwitchStatements, DayName) {
EXPECT_EQ(control_flow::day_name(1), "Monday");
EXPECT_EQ(control_flow::day_name(7), "Sunday");
EXPECT_EQ(control_flow::day_name(0), "Invalid");
}