From c780cbb6acd0e0526f2d305138190392bdc8cdd7 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 24 Jan 2026 01:43:01 +0900 Subject: refactor: organize test files --- tests/variables.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 tests/variables.c (limited to 'tests/variables.c') diff --git a/tests/variables.c b/tests/variables.c new file mode 100644 index 0000000..0bd2127 --- /dev/null +++ b/tests/variables.c @@ -0,0 +1,74 @@ +#include + +int printf(const char*, ...); +int strcmp(const char*, const char*); + +// global variables +int g_a; +int* g_b = &g_a; +int g_c[10]; +int* g_d = g_c; +int g_e, *g_f = g_e, g_g[10], *g_h = g_g; + +char g_i = 42; +short g_j = 123; +int g_k = 999; + +char g_l[6] = "hello"; + +int main() { + // global variables + *g_b = 123; + ASSERT_EQ(123, g_a); + + g_d[2] = 42; + ASSERT_EQ(42, g_c[2]); + + *g_f = 456; + ASSERT_EQ(456, g_e); + + g_h[5] = 789; + ASSERT_EQ(789, g_g[5]); + + ASSERT_EQ(42, g_i); + ASSERT_EQ(123, g_j); + ASSERT_EQ(999, g_k); + + ASSERT_EQ(0, strcmp("hello", g_l)); + + // local variables + int foo; + foo = 42; + ASSERT_EQ(42, foo); + + int bar; + bar = 28; + ASSERT_EQ(70, foo + bar); + + int a1; + int a2; + int a3; + int a4; + int a5; + int a6; + int a7; + int a8; + int a9; + + a1 = 1; + a2 = 2; + a3 = 3; + a4 = 4; + a5 = 5; + a6 = 6; + a7 = 7; + a8 = 8; + a9 = 9; + + ASSERT_EQ(45, a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + 0); + + int d = 2, e = d, f = d + e; + ASSERT_EQ(2, d); + ASSERT_EQ(2, e); + ASSERT_EQ(4, f); +} -- cgit v1.3-1-g0d28