From 2009a26e17ad9dbefee3a5ca4339d754e51ef078 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 15 Feb 2026 00:04:23 +0900 Subject: refactor: write more tests in C --- tests/switch.sh | 215 -------------------------------------------------------- 1 file changed, 215 deletions(-) (limited to 'tests/switch.sh') diff --git a/tests/switch.sh b/tests/switch.sh index 7d9f894..0207aa6 100644 --- a/tests/switch.sh +++ b/tests/switch.sh @@ -1,196 +1,3 @@ -#!/bin/bash - -test_exit_code 0 <<'EOF' -#include - -int main() { - int x = 2; - int result = 0; - - switch (x) { - case 1: - result = 10; - break; - case 2: - result = 20; - break; - case 3: - result = 30; - break; - } - - ASSERT_EQ(20, result); -} -EOF - -test_exit_code 0 <<'EOF' -#include - -int main() { - int x = 5; - int result = 0; - - switch (x) { - case 1: - result = 10; - break; - case 2: - result = 20; - break; - default: - result = 99; - break; - } - - ASSERT_EQ(99, result); -} -EOF - -test_exit_code 0 <<'EOF' -#include - -int main() { - int x = 2; - int result = 0; - - switch (x) { - case 1: - result = result + 10; - case 2: - result = result + 20; - case 3: - result = result + 30; - break; - } - - ASSERT_EQ(50, result); // 20 + 30 due to fall-through -} -EOF - -test_exit_code 0 <<'EOF' -#include - -int main() { - int x = 1; - int y = 2; - int result = 0; - - switch (x) { - case 1: - switch (y) { - case 1: - result = 11; - break; - case 2: - result = 12; - break; - } - break; - case 2: - result = 20; - break; - } - - ASSERT_EQ(12, result); -} -EOF - -test_exit_code 0 <<'EOF' -#include - -int main() { - int a = 3; - int b = 2; - int result = 0; - - switch (a + b) { - case 4: - result = 40; - break; - case 5: - result = 50; - break; - case 6: - result = 60; - break; - } - - ASSERT_EQ(50, result); -} -EOF - -test_exit_code 0 <<'EOF' -#include - -int main() { - int x = 2; - int result = 0; - int temp = 0; - - switch (x) { - case 1: - temp = 5; - result = temp * 2; - break; - case 2: - temp = 10; - result = temp * 2; - break; - case 3: - temp = 15; - result = temp * 2; - break; - } - - ASSERT_EQ(20, result); - ASSERT_EQ(10, temp); -} -EOF - -test_exit_code 0 <<'EOF' -#include - -int main() { - int x = 1; - int result = 0; - - switch (x) { - case 1: { - int local = 100; - result = local; - break; - } - case 2: { - int local = 200; - result = local; - break; - } - } - - ASSERT_EQ(100, result); -} -EOF - -test_exit_code 0 <<'EOF' -#include - -int main() { - int x = 10; - int result = 42; - - switch (x) { - case 1: - result = 10; - break; - case 2: - result = 20; - break; - } - - ASSERT_EQ(42, result); -} -EOF - cat <<'EOF' > expected main.c:2: 'case' label not within a switch statement EOF @@ -210,25 +17,3 @@ int main() { return 0; } EOF - -test_exit_code 0 <<'EOF' -#include - -int f(int x) { - switch (x) { - case 1: - case 2: - return 12; - case 3: - case 4: - return 34; - } -} - -int main() { - ASSERT_EQ(12, f(1)); - ASSERT_EQ(12, f(2)); - ASSERT_EQ(34, f(3)); - ASSERT_EQ(34, f(4)); -} -EOF -- cgit v1.3-1-g0d28