diff options
Diffstat (limited to 'tests/collections')
| -rw-r--r-- | tests/collections/test_string_suite.zc | 12 | ||||
| -rw-r--r-- | tests/collections/test_vec_suite.zc | 177 |
2 files changed, 6 insertions, 183 deletions
diff --git a/tests/collections/test_string_suite.zc b/tests/collections/test_string_suite.zc index 4d2c080..a3f608d 100644 --- a/tests/collections/test_string_suite.zc +++ b/tests/collections/test_string_suite.zc @@ -10,7 +10,7 @@ test "test_string_methods" { var s1: String = String::from("Hello World"); var sub: String = s1.substring(0, 5); var expected1: String = String::from("Hello"); - if (sub.eq(expected1)) { + if (sub.eq(&expected1)) { println " -> substring(0, 5): Passed"; } else { assert(false, "substring(0, 5) failed"); @@ -19,7 +19,7 @@ test "test_string_methods" { // Substring middle var sub2: String = s1.substring(6, 5); var expected2: String = String::from("World"); - if (sub2.eq(expected2)) { + if (sub2.eq(&expected2)) { println " -> substring(6, 5): Passed"; } else { assert(false, "substring(6, 5) failed"); @@ -67,9 +67,9 @@ test "test_string_methods" { // Append var s2: String = String::from("Hello"); var s3: String = String::from(" World"); - s2.append(s3); + s2.append(&s3); var expected6: String = String::from("Hello World"); - if (s2.eq(expected6)) { + if (s2.eq(&expected6)) { println " -> append(): Passed"; } else { assert(false, "append() failed"); @@ -99,7 +99,7 @@ test "test_string_std_ops" { var s1 = String::from("Hello"); var s2 = String::from(" World"); - var s3 = s1 + s2; + var s3 = s1.add(&s2); print "Concatenated: "; s3.println(); @@ -107,7 +107,7 @@ test "test_string_std_ops" { assert(s3.length() == 11, "Length mismatch"); var s4 = String::from("Hello World"); - if (s3.eq(s4)) { + if (s3.eq(&s4)) { println "Equality check passed: Strings are identical."; } else { assert(false, "Equality check failed"); diff --git a/tests/collections/test_vec_suite.zc b/tests/collections/test_vec_suite.zc deleted file mode 100644 index 9722972..0000000 --- a/tests/collections/test_vec_suite.zc +++ /dev/null @@ -1,177 +0,0 @@ - -import "std.zc" - -@derive(Eq, Clone) -struct Point { - x: int; - y: int; -} - -test "test_vec_methods" { - println "Testing Vec methods..."; - - // Insert at beginning - var v = Vec<int>::new(); - v.push(10); - v.push(20); - v.push(30); - v.insert(0, 5); - - if (v.get(0) == 5 && v.get(1) == 10 && v.length() == 4) { - println " -> insert(0, 5): Passed"; - } else { - assert(false, "insert(0, 5) failed"); - } - - // Insert in middle - v.insert(2, 15); - if (v.get(2) == 15 && v.get(3) == 20 && v.length() == 5) { - println " -> insert(2, 15): Passed"; - } else { - assert(false, "insert(2, 15) failed"); - } - - // Insert at end - v.insert(5, 35); - if (v.get(5) == 35 && v.length() == 6) { - println " -> insert(5, 35): Passed"; - } else { - assert(false, "insert(5, 35) failed"); - } - - // Remove from beginning - var removed = v.remove(0); - if (removed == 5 && v.get(0) == 10 && v.length() == 5) { - println " -> remove(0): Passed"; - } else { - assert(false, "remove(0) failed"); - } - - // Remove from middle - var removed2 = v.remove(1); - if (removed2 == 15 && v.get(1) == 20 && v.length() == 4) { - println " -> remove(1): Passed"; - } else { - assert(false, "remove(1) failed"); - } - - // Remove from end - var removed3 = v.remove(3); - if (removed3 == 35 && v.length() == 3) { - println " -> remove(3): Passed"; - } else { - assert(false, "remove(3) failed"); - } - - // Verify final state - if (v.get(0) == 10 && v.get(1) == 20 && v.get(2) == 30) { - println " -> final state: Passed"; - } else { - assert(false, "final state failed"); - } - - println "All Vec methods passed!"; -} - -test "test_vec_extensions" { - println "Testing Vec extensions (pop, clear, etc)..."; - var v = Vec<int>::new(); - v.push(10); - v.push(20); - v.push(30); - - assert(v.length() == 3, "Length should be 3"); - assert(v.last() == 30, "Last should be 30"); - - var popped = v.pop(); - println "Popped: {popped}"; - assert(popped == 30, "Popped value mismatch"); - assert(v.length() == 2, "Length after pop mismatch"); - - assert(!v.is_empty(), "Vector should not be empty"); - - v.clear(); - assert(v.is_empty(), "Vector should be empty after clear"); - assert(v.length() == 0, "Length should be 0"); - - v.free(); -} - -test "test_vec_basic" { - var v = Vec<int>::new(); - v.push(10); - v.push(10); - v.push(20); - var v0 = v.get(0); - var v1 = v.get(1); - println "Vec: {v0}, {v1}"; - - var s1 = String::from("Hello "); - var s2 = String::from("World"); - var s3 = s1 + s2; - - println "{s3.c_str()}"; -} - -test "test_vec_clone" { - var v = Vec<int>::new(); - v.push(10); - v.push(20); - v.push(30); - - println "Vec has {(int)v.len} elements"; - println "First: {v.first()}"; - println "Last: {v.last()}"; - - v.free(); - "Done"; -} - -test "test_vec_contains" { - println "Testing Vec::contains with structs..."; - - var v = Vec<Point>::new(); - v.push(Point { x: 1, y: 2 }); - v.push(Point { x: 3, y: 4 }); - - var p1 = Point { x: 1, y: 2 }; - if (v.contains(p1)) { - println " -> contains((1, 2)): Passed"; - } else { - assert(false, "contains({1, 2}) failed"); - } - - var p2 = Point { x: 3, y: 4 }; - if (v.contains(p2)) { - println " -> contains((3, 4)): Passed"; - } else { - assert(false, "contains({3, 4}) failed"); - } - - var p3 = Point { x: 5, y: 6 }; - if (!v.contains(p3)) { - println " -> !contains((5, 6)): Passed"; - } else { - assert(false, "!contains({5, 6}) failed"); - } - - var vi = Vec<int>::new(); - vi.push(10); - vi.push(20); - - if (vi.contains(10)) { - println " -> Vec<int>::contains(10): Passed"; - } else { - assert(false, "Vec<int>::contains(10) failed"); - } - - if (!vi.contains(30)) { - println " -> !Vec<int>::contains(30): Passed"; - } else { - assert(false, "!Vec<int>::contains(30) failed"); - } - - v.free(); - vi.free(); - println "All tests passed!"; -} |
