@@ -10,6 +10,7 @@ import List.Extra as List
10import Test exposing (..)
10import Test exposing (..)
11import Test.Utils exposing (..)
11import Test.Utils exposing (..)
12import Urbit exposing (..)
12import Urbit exposing (..)
13+import Urbit.Constructor as C
13import Urbit.Deconstructor as D
14import Urbit.Deconstructor as D
@@ -148,6 +149,60 @@ tests =
148 (Bytes.fromByteValues [ 0xC1, 0x20, 0xE4, 0x01 ])
149 (Bytes.fromByteValues [ 0xC1, 0x20, 0xE4, 0x01 ])
158+ (Bytes.fromByteValues [ 0xC0, 0x00, 0x02, 0x08 ])
162+ , describe "Constructor <-> Deconstructor"
164+ (Fuzz.triple Fuzz.niceFloat Fuzz.int (Fuzz.intAtLeast 0))
167+ Expect.equal (Just ( f, i, ui ))
169+ (D.cell D.float64 (D.cell D.signedInt D.int) |> D.map (\a b c -> ( a, b, c )))
170+ (C.cell (C.float64 f) (C.cell (C.signedInt i) (C.int ui)))
174+ (Fuzz.list Fuzz.int)
180+ (D.list D.signedInt)
181+ (C.listOf C.signedInt x)