aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/switch.sh
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-15 00:04:23 +0900
committernsfisis <nsfisis@gmail.com>2026-02-15 00:04:23 +0900
commit2009a26e17ad9dbefee3a5ca4339d754e51ef078 (patch)
tree5c311a1a17f40786f53f4a89c5bbbb72402a6b2d /tests/switch.sh
parentef0cb4dbdc1c036f70f94a905cbacae9be5abf5e (diff)
downloadducc-2009a26e17ad9dbefee3a5ca4339d754e51ef078.tar.gz
ducc-2009a26e17ad9dbefee3a5ca4339d754e51ef078.tar.zst
ducc-2009a26e17ad9dbefee3a5ca4339d754e51ef078.zip
refactor: write more tests in C
Diffstat (limited to 'tests/switch.sh')
-rw-r--r--tests/switch.sh215
1 files changed, 0 insertions, 215 deletions
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 <helpers.h>
-
-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 <helpers.h>
-
-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 <helpers.h>
-
-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 <helpers.h>
-
-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 <helpers.h>
-
-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 <helpers.h>
-
-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 <helpers.h>
-
-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 <helpers.h>
-
-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 <helpers.h>
-
-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