internal hamming widget generator should return AttrNames

This commit is contained in:
2024-07-23 16:18:40 -04:00
parent 4ea2185243
commit 120d60bc32
3 changed files with 141 additions and 258 deletions

View File

@@ -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' )
]
]