@@ -2,22 +2,22 @@ defmodule QuickStructTest do
2
2
use ExUnit.Case
3
3
4
4
defmodule User do
5
- use QuickStruct , [ firstname: String . t , name: String . t ]
5
+ use QuickStruct , firstname: String . t ( ) , name: String . t ( )
6
6
end
7
7
8
8
test "make user struct" do
9
9
assert User . make ( "Jon" , "Adams" ) == % User { firstname: "Jon" , name: "Adams" }
10
- assert User . make ( [ name: "Adams" , firstname: "Jon" ] ) == % User { firstname: "Jon" , name: "Adams" }
10
+ assert User . make ( name: "Adams" , firstname: "Jon" ) == % User { firstname: "Jon" , name: "Adams" }
11
11
end
12
12
13
13
test "make user struct fails if an additional key is given or a key is missing" do
14
14
assert_raise KeyError ,
15
- ~r/ key :second_name not found in/ ,
16
- fn -> User . make ( [ second_name: "Karl" , firstname: "Jon" , name: "Adams" ] ) end
15
+ ~r/ key :second_name not found in/ ,
16
+ fn -> User . make ( second_name: "Karl" , firstname: "Jon" , name: "Adams" ) end
17
17
18
18
assert_raise ArgumentError ,
19
- ~r/ the following keys must also be given.*:firstname/ ,
20
- fn -> User . make ( [ name: "Smith" ] ) end
19
+ ~r/ the following keys must also be given.*:firstname/ ,
20
+ fn -> User . make ( name: "Smith" ) end
21
21
end
22
22
23
23
defmodule Pair do
@@ -27,19 +27,19 @@ defmodule QuickStructTest do
27
27
test "make pair without type specifications" do
28
28
assert Pair . make ( 1 , 2 ) == % Pair { a: 1 , b: 2 }
29
29
assert Pair . make ( "Hello" , "World" ) == % Pair { a: "Hello" , b: "World" }
30
- assert Pair . make ( [ a: [ 1 , 2 ] , b: [ 3 , 4 ] ] ) == % Pair { a: [ 1 , 2 ] , b: [ 3 , 4 ] }
30
+ assert Pair . make ( a: [ 1 , 2 ] , b: [ 3 , 4 ] ) == % Pair { a: [ 1 , 2 ] , b: [ 3 , 4 ] }
31
31
end
32
32
33
33
defmodule Single do
34
- use QuickStruct , [ el: String . t ]
34
+ use QuickStruct , el: String . t ( )
35
35
end
36
36
37
37
test "make single struct" do
38
38
assert Single . make ( "Hey" ) == % Single { el: "Hey" }
39
39
end
40
40
41
41
require QuickStruct
42
- QuickStruct . define_module Nofields , [ ]
42
+ QuickStruct . define_module ( Nofields , [ ] )
43
43
## This is shorthand for:
44
44
# defmodule Nofields do
45
45
# use QuickStruct, []
@@ -82,15 +82,17 @@ defmodule QuickStructTest do
82
82
end
83
83
84
84
defmodule AreaOrSpace do
85
- use QuickStruct , [ x: float ( ) ,
86
- y: float ( ) ,
87
- z: float ( ) ]
88
- QuickStruct . constructor_with_defaults ( [ z: 0 ] )
85
+ use QuickStruct ,
86
+ x: float ( ) ,
87
+ y: float ( ) ,
88
+ z: float ( )
89
+
90
+ QuickStruct . constructor_with_defaults ( z: 0 )
89
91
end
90
92
91
93
test "constructor with defaults works" do
92
- assert AreaOrSpace . make_with_defaults ( [ x: 4 , y: - 1 ] ) == % AreaOrSpace { x: 4 , y: - 1 , z: 0 }
93
- assert AreaOrSpace . make ( 1 , 2 , 0 ) == AreaOrSpace . make_with_defaults ( [ x: 1 , y: 2 ] )
94
+ assert AreaOrSpace . make_with_defaults ( x: 4 , y: - 1 ) == % AreaOrSpace { x: 4 , y: - 1 , z: 0 }
95
+ assert AreaOrSpace . make ( 1 , 2 , 0 ) == AreaOrSpace . make_with_defaults ( x: 1 , y: 2 )
94
96
end
95
97
96
98
doctest QuickStruct
0 commit comments