diff options
Diffstat (limited to 'tests/modules/test_modules')
| -rw-r--r-- | tests/modules/test_modules/math.zc | 19 | ||||
| -rw-r--r-- | tests/modules/test_modules/physics.zc | 17 | ||||
| -rw-r--r-- | tests/modules/test_modules/simple.zc | 3 |
3 files changed, 39 insertions, 0 deletions
diff --git a/tests/modules/test_modules/math.zc b/tests/modules/test_modules/math.zc new file mode 100644 index 0000000..be65a5c --- /dev/null +++ b/tests/modules/test_modules/math.zc @@ -0,0 +1,19 @@ + +struct Vector { + x: int; + y: int; +} + +impl Vector { + fn new(x: int, y: int) -> Vector { + return Vector { x: x, y: y }; + } + + fn length(self) -> int { + // sqrt(3^2 + 4^2) = 5 + // Implementing simple integer fallback or mocked logic since we don't have sqrt in std (maybe?) + // For 3,4 it is 5. + if (self.x == 3 && self.y == 4) return 5; + return 0; + } +} diff --git a/tests/modules/test_modules/physics.zc b/tests/modules/test_modules/physics.zc new file mode 100644 index 0000000..ee56f7e --- /dev/null +++ b/tests/modules/test_modules/physics.zc @@ -0,0 +1,17 @@ + +struct Vector { + vx: double; + vy: double; +} + +impl Vector { + fn new(vx: double, vy: double) -> Vector { + return Vector { vx: vx, vy: vy }; + } + + fn magnitude(self) -> double { + // sqrt(5^2 + 12^2) = 13 + if (self.vx == 5.0 && self.vy == 12.0) return 13.0; + return 0.0; + } +} diff --git a/tests/modules/test_modules/simple.zc b/tests/modules/test_modules/simple.zc new file mode 100644 index 0000000..ed002e2 --- /dev/null +++ b/tests/modules/test_modules/simple.zc @@ -0,0 +1,3 @@ +fn foo() -> int { + return 100; +} |
