on master help sign in
Add a test
24cc944Matthew Pickering
test/Spec.hs+7−1
@@ -64,7 +64,12 @@ typeChangingManualCompose = typeChangingManual . typeChangingManual
64newtype L s a = L (Lens' s a)
64newtype L s a = L (Lens' s a)
65
65
66intTraversalManual :: Traversal' Record3 Int
66intTraversalManual :: Traversal' Record3 Int
67−intTraversalManual = types
67+intTraversalManual f (MkRecord3 a b c d e f') =
68+ (\a1 a2 a3 a4 -> MkRecord3 a1 a2 c a3 e a4) <$> f a <*> f b <*> f d <*> f f'
69+
70+intTraversalDerived :: Traversal' Record3 Int
71+intTraversalDerived = types
72+
68
73
69intTraversalDerived3 :: Traversal' (Record4 Int) Int
74intTraversalDerived3 :: Traversal' (Record4 Int) Int
70intTraversalDerived3 = genericTraverse
75intTraversalDerived3 = genericTraverse
@@ -129,5 +134,6 @@ inspect $ 'subtypeLensManual === 'subtypeLensGeneric
129inspect $ 'typeChangingManual === 'typeChangingGeneric
134inspect $ 'typeChangingManual === 'typeChangingGeneric
130inspect $ 'typeChangingManual === 'typeChangingGenericPos
135inspect $ 'typeChangingManual === 'typeChangingGenericPos
131inspect $ 'typeChangingManualCompose === 'typeChangingGenericCompose
136inspect $ 'typeChangingManualCompose === 'typeChangingGenericCompose
137+inspect $ 'intTraversalManual === 'intTraversalDerived
132
138
133--inspect $ 'sum1PrismManual === 'sum1PrismB
139--inspect $ 'sum1PrismManual === 'sum1PrismB