authorgravatar for alex_naskos@hotmail.comAlexandros Naskos <alex_naskos@hotmail.com> 2020-02-28 02:52:09+02:00
committergravatar for alex_naskos@hotmail.comAlexandros Naskos <alex_naskos@hotmail.com> 2020-02-28 02:52:09+02:00
log261c94629e9cb4fb43541d0930fec873e488d66e
tree205db3d0d008e9690514a94327935b47420290e2
parentc020bc27ac8a8b18fe46c59f0dfb969b032fb303

Added test


1 files changed, 38 insertions(+), 0 deletions(-)

test/stage1/behavior/tuple.zig+38
...@@ -15,4 +15,42 @@ test "tuple concatenation" {...@@ -15,4 +15,42 @@ test "tuple concatenation" {
15 };15 };
16 S.doTheTest();16 S.doTheTest();
17 comptime S.doTheTest();17 comptime S.doTheTest();
18
19 const T = struct {
20 fn consume_tuple(tuple: var, len: usize) void {
21 expect(tuple.len == len);
22 }
23
24 fn doTheTest() void {
25 const t1 = .{};
26
27 var rt_var: u8 = 42;
28 const t2 = .{rt_var} ++ .{};
29
30 expect(t2.len == 1);
31 expect(t2.@"0" == rt_var);
32 expect(t2.@"0" == 42);
33 expect(&t2.@"0" != &rt_var);
34
35 consume_tuple(t1 ++ t1, 0);
36 consume_tuple(.{} ++ .{}, 0);
37 consume_tuple(.{0} ++ .{}, 1);
38 consume_tuple(.{0} ++ .{1}, 2);
39 consume_tuple(.{0, 1, 2} ++ .{u8, 1, noreturn}, 6);
40 consume_tuple(t2 ++ t1, 1);
41 consume_tuple(t1 ++ t2, 1);
42 consume_tuple(t2 ++ t2, 2);
43 consume_tuple(.{rt_var} ++ .{}, 1);
44 consume_tuple(.{rt_var} ++ t1, 1);
45 consume_tuple(.{} ++ .{rt_var}, 1);
46 consume_tuple(t2 ++ .{void}, 2);
47 consume_tuple(t2 ++ .{0}, 2);
48 consume_tuple(.{0} ++ t2, 2);
49 consume_tuple(.{void} ++ t2, 2);
50 consume_tuple(.{u8} ++ .{rt_var} ++ .{true}, 3);
51 }
52 };
53
54 T.doTheTest();
55 comptime T.doTheTest();
18}56}