Bodo Junglas

Results 37 comments of Bodo Junglas

At first glance, I would say that `gen.IntRange(qspec.q+1, qspec.n).Map(func ...` needs to be a `FlatMap` since your returning a generator instead of a value. But you're right, the error is...

Just checked your example: This here seems to work: ``` gen.IntRange(4, 100).FlatMap(func(n interface{}) gopter.Gen { qspec, err := NewAuthDataQ(n.(int), priv, &priv.PublicKey) if err != nil { t.Fatalf("failed to create quorum...

In this specific case it should be no problem mutating the state as long as `InitialStateGen` always generates a new instance. The main loop running a sequence of commands is...

For stateful testing I used scala-check as template. In this case: https://www.scalacheck.org/files/scalacheck_2.11-1.14.0-api/index.html#org.scalacheck.commands.Commands$Command But that does not mean that it is set in stone. So, if I understand correctly, you need...

I experimented a bit and just realized, that NextState is pretty essential for the shrinker. More precisely: PreCondition and NextState are used to generate valid Command sequences without actually altering/invoking...

The main trick of the haskell variant seems to be that they distinguish between a symbolic state and a concrete state, which is pretty nice when used with polymorphic functions....

Hi, I don't think that this will really work in all cases. Actually the main problem for mapping is that I distinguish between "Shrinker" and "Shrink". A Shrink is no...

Yes, good point. Mutable structs are kind of a weakness in this case. First thing I did is to add a special warning in the docs. Next thing, I get...

As the interface of Shrinker and Shrink is right now, I fear the reverse operation is needed. The might be a way, if we consider a Shrink to be some...

The "problem" here is the `CombineGens`. Unluckily go does not have something like tuples, therefor `CombineGens` is a somewhat feeble attempt to emulate those. Simply put: When you have a...