diff options
| author | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-14 23:59:54 +0000 |
|---|---|---|
| committer | Zuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian> | 2026-01-14 23:59:54 +0000 |
| commit | dcfdc053cb5f9fb4d5eac0a2233c75126b7a8188 (patch) | |
| tree | f34f30b382fa22d6fd0af46875a5b4b26d00feff /tests/generics | |
| parent | a918df69269a39ef7350a645b5db025d66ecb18a (diff) | |
Added some of the tests.
Diffstat (limited to 'tests/generics')
| -rw-r--r-- | tests/generics/test_generics_fn.zc | 25 | ||||
| -rw-r--r-- | tests/generics/test_generics_struct.zc | 14 |
2 files changed, 39 insertions, 0 deletions
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<T>(x: T) -> T { + return x; +} + +struct Box<T> { + val: T; +} + +// Generic Impl +impl Box<T> { + fn get(self) -> T { + return self.val; + } +} + +test "Generics" { + // Generic Function + var i = identity<int>(42); + assert(i == 42, "Generic function failed"); + + // Generic Struct & Impl + var b = Box<int> { 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<T> { + item: T; + id: int; +} + +test "test_generics_struct" { + // Instantiate with int + var w1: Wrapper<int>; + w1.id = 1; + w1.item = 500; + + println "Wrapper Int: {w1.item} (ID: {w1.id})"; +} |
