internal hamming widget generator should return AttrNames
This commit is contained in:
@@ -65,249 +65,99 @@ hammingW'Spec = describe "hammingW'" $ mapM_
|
||||
] where
|
||||
mkState c = initialState & hammingCode .~ c
|
||||
allZero =
|
||||
[ [ ( []
|
||||
, ' '
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '2'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '3'
|
||||
)
|
||||
[ [ ( mempty, ' ' )
|
||||
, ( marginAttr, '0' )
|
||||
, ( marginAttr, '1' )
|
||||
, ( marginAttr, '2' )
|
||||
, ( marginAttr, '3' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["zero", "check"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, [ ( marginAttr, '0' )
|
||||
, ( zeroAttr, '0' )
|
||||
, ( checkAttr, '0' )
|
||||
, ( checkAttr, '0' )
|
||||
, ( mempty, '0' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, [ ( marginAttr, '1' )
|
||||
, ( checkAttr, '0' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '0' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '2'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, [ ( marginAttr, '2' )
|
||||
, ( checkAttr, '0' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '0' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '3'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, [ ( marginAttr, '3' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '0' )
|
||||
]
|
||||
]
|
||||
allOne =
|
||||
[ [ ( []
|
||||
, ' '
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '2'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '3'
|
||||
)
|
||||
[ [ ( mempty, ' ' )
|
||||
, ( marginAttr, '0' )
|
||||
, ( marginAttr, '1' )
|
||||
, ( marginAttr, '2' )
|
||||
, ( marginAttr, '3' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["zero", "check"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, [ ( marginAttr, '0' )
|
||||
, ( zeroAttr, '1' )
|
||||
, ( checkAttr, '1' )
|
||||
, ( checkAttr, '1' )
|
||||
, ( mempty, '1' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, [ ( marginAttr, '1' )
|
||||
, ( checkAttr, '1' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '2'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, [ ( marginAttr, '2' )
|
||||
, ( checkAttr, '1' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '3'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, [ ( marginAttr, '3' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
]
|
||||
]
|
||||
arbitrary =
|
||||
[ [ ( []
|
||||
, ' '
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '2'
|
||||
)
|
||||
, ( ["margin"]
|
||||
, '3'
|
||||
)
|
||||
[ [ ( mempty, ' ' )
|
||||
, ( marginAttr, '0' )
|
||||
, ( marginAttr, '1' )
|
||||
, ( marginAttr, '2' )
|
||||
, ( marginAttr, '3' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["zero", "check"]
|
||||
, '0'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, [ ( marginAttr, '0' )
|
||||
, ( zeroAttr, '0' )
|
||||
, ( checkAttr, '1' )
|
||||
, ( checkAttr, '0' )
|
||||
, ( mempty, '1' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '1'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, [ ( marginAttr, '1' )
|
||||
, ( checkAttr, '1' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '0' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '2'
|
||||
)
|
||||
, ( ["check"]
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, [ ( marginAttr, '2' )
|
||||
, ( checkAttr, '0' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
]
|
||||
, [ ( ["margin"]
|
||||
, '3'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '1'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, ( []
|
||||
, '0'
|
||||
)
|
||||
, [ ( marginAttr, '3' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '1' )
|
||||
, ( mempty, '0' )
|
||||
, ( mempty, '0' )
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user