23 lines
523 B
Nim
23 lines
523 B
Nim
import drchaos/mutator, std/random
|
|
|
|
type
|
|
DiceFace = distinct int
|
|
|
|
const
|
|
df1 = 0.DiceFace
|
|
df2 = 2.DiceFace
|
|
df3 = 4.DiceFace
|
|
df4 = 8.DiceFace
|
|
df5 = 16.DiceFace
|
|
df6 = 32.DiceFace
|
|
|
|
proc `==`(a, b: DiceFace): bool {.borrow.}
|
|
|
|
proc mutate(value: var DiceFace; sizeIncreaseHint: int; enforceChanges: bool; r: var Rand) =
|
|
repeatMutate(r.sample([df1, df2, df3, df4, df5, df6]))
|
|
|
|
func fuzzTarget(x: array[10, DiceFace]) =
|
|
doAssert x != [df1, df6, df2, df3, df4, df3, df6, df4, df5, df2]
|
|
|
|
defaultMutator(fuzzTarget)
|