summaryrefslogtreecommitdiff
path: root/tests/features/test_unions.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/features/test_unions.zc')
-rw-r--r--tests/features/test_unions.zc24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/features/test_unions.zc b/tests/features/test_unions.zc
new file mode 100644
index 0000000..ee9848b
--- /dev/null
+++ b/tests/features/test_unions.zc
@@ -0,0 +1,24 @@
+
+struct Circle {
+ radius: f32;
+}
+
+struct Rect {
+ width: f32;
+ height: f32;
+}
+
+union Shape {
+ circle: Circle;
+ rect: Rect;
+}
+
+test "union_init" {
+ var c = Circle{ radius: 10.0 };
+ var s = Shape{ circle: c };
+ assert(s.circle.radius == 10.0, "s.circle.radius != 10.0");
+
+ var s2 = Shape{};
+ s2.rect = Rect{ width: 5.0, height: 5.0 };
+ assert(s2.rect.width == 5.0, "s2.rect.width != 5.0");
+}