v2 / vlib / v / tests / generics / generic_arrays_sum_test.v
27 lines · 23 sloc · 395 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1import arrays
2
3struct Point {
4pub mut:
5 x int
6 y int
7}
8
9fn (p1 Point) + (p2 Point) Point {
10 return Point{
11 x: p1.x + p2.x
12 y: p1.y + p2.y
13 }
14}
15
16fn test_generic_arrays_sum() {
17 ret1 := arrays.sum[Point]([Point{ x: 1, y: 1 }, Point{
18 x: 2
19 y: 2
20 }]) or { Point{} }
21 println(ret1)
22 assert ret1 == Point{3, 3}
23
24 ret2 := arrays.sum[int]([1, 2, 3, 4]) or { 0 }
25 println(ret2)
26 assert ret2 == 10
27}
28