| Test |
Method name |
Duration |
Result |
| asBigMasks: sizeExact works for large n without iterating |
asBigMasks_large_size_only() |
0s |
passed |
| asBigMasks (n=3): matches BigInteger masks; Hamming-1 property |
asBigMasks_small() |
0.001s |
passed |
| asBits (n=4): matches asInts as masks; Hamming-1 between successive bit vectors; defensive copies |
asBits_matches_ints_and_gray_property() |
0.001s |
passed |
| asInts: iterator contract—exhaustion throws NoSuchElementException |
asInts_iterator_contract() |
0s |
passed |
| asInts (n=3): exact reflected Gray sequence and Hamming-1 property |
asInts_n3_sequence() |
0s |
passed |
| asLongMasks (n=6): matches asInts masks; Hamming-1 property |
asLongMasks_matches_ints() |
0.001s |
passed |
| asSubsets (n=4): symmetric difference size 1; matches masks from asInts |
asSubsets_gray_property_and_map_to_masks() |
0.003s |
passed |
| asToggles (n=5): reconstruct states and match asBits sequence |
asToggles_reconstructs_bits_sequence() |
0.001s |
passed |
| Edge case n=0: exactly one state, no toggles |
edge_n0() |
0.014s |
passed |
| Validation: asInts rejects n>31; asLongMasks rejects n>62 |
validation_limits() |
0.002s |
passed |