From dcfdc053cb5f9fb4d5eac0a2233c75126b7a8188 Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Wed, 14 Jan 2026 23:59:54 +0000 Subject: Added some of the tests. --- tests/generics/test_generics_fn.zc | 25 +++++++++++++++++++++++++ tests/generics/test_generics_struct.zc | 14 ++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 tests/generics/test_generics_fn.zc create mode 100644 tests/generics/test_generics_struct.zc (limited to 'tests/generics') diff --git a/tests/generics/test_generics_fn.zc b/tests/generics/test_generics_fn.zc new file mode 100644 index 0000000..ac1cbb5 --- /dev/null +++ b/tests/generics/test_generics_fn.zc @@ -0,0 +1,25 @@ + +fn identity(x: T) -> T { + return x; +} + +struct Box { + val: T; +} + +// Generic Impl +impl Box { + fn get(self) -> T { + return self.val; + } +} + +test "Generics" { + // Generic Function + var i = identity(42); + assert(i == 42, "Generic function failed"); + + // Generic Struct & Impl + var b = Box { val: 100 }; + assert(b.get() == 100, "Generic impl failed"); +} diff --git a/tests/generics/test_generics_struct.zc b/tests/generics/test_generics_struct.zc new file mode 100644 index 0000000..ae61e4c --- /dev/null +++ b/tests/generics/test_generics_struct.zc @@ -0,0 +1,14 @@ + +struct Wrapper { + item: T; + id: int; +} + +test "test_generics_struct" { + // Instantiate with int + var w1: Wrapper; + w1.id = 1; + w1.item = 500; + + println "Wrapper Int: {w1.item} (ID: {w1.id})"; +} -- cgit v1.2.3