Beispiel #1
0
        public NebulaCheck.IGen <Test> IfThePropertyIsInfallible_ItReturnsTheGivenIterations() =>
        from gen in DomainGen.Gen()
        from iterations in DomainGen.Iterations()
        from seed in DomainGen.Seed()
        select Property.ForThese(() =>
        {
            var property = gen.ForAll((_) => true);

            var result = property.Check(iterations: iterations, seed: seed);

            result.Iterations.Should().Be(iterations);
        });
        public NebulaCheck.IGen <Test> IfSizeIsBelowChaosSize_AndRangeIsZero_ItDoesNotConsumeRandomness() =>
        from seed in DomainGen.Seed()
        from size in DomainGen.Size(allowChaos: false)
        from iterations in DomainGen.Iterations()
        from x in Gen.Int64()
        select Property.ForThese(() =>
        {
            var gen = GalaxyCheck.Gen.Int64().Between(x, x);

            var sample = gen.Advanced.SampleWithMetrics(iterations: iterations, seed: seed, size: size);

            sample.RandomnessConsumption.Should().Be(0);
        });
Beispiel #3
0
        public NebulaCheck.IGen <Test> ItConsumesRandomnessOncePerIteration() =>
        from elementGen in DomainGen.Gen()
        from iterations in DomainGen.Iterations()
        from seed in DomainGen.Seed()
        from size in DomainGen.Size()
        select Property.ForThese(() =>
        {
            var gen = elementGen.InfiniteOf();

            var sample = gen.Advanced.SampleWithMetrics(iterations: iterations, seed: seed, size: size);

            sample.RandomnessConsumption.Should().Be(iterations);
        });
        public NebulaCheck.IGen <Test> IfSizeIsBelowChaosSize_AndRangeIsNonZero_ItConsumesRandomnessOncePerIteration() =>
        from seed in DomainGen.Seed()
        from size in DomainGen.Size(allowChaos: false)
        from iterations in DomainGen.Iterations()
        from x in Gen.Int64()
        from y in Gen.Int64()
            where x != y
        select Property.ForThese(() =>
        {
            var gen = GalaxyCheck.Gen.Int64().Between(x, y);

            var sample = gen.Advanced.SampleWithMetrics(iterations: iterations, seed: seed, size: size);

            sample.RandomnessConsumption.Should().Be(sample.Values.Count);
        });
Beispiel #5
0
        public NebulaCheck.IGen <Test> IfThePropertyIsInfallible_ItCallsTheTestFunctionForEachIteration() =>
        from gen in DomainGen.Gen()
        from iterations in DomainGen.Iterations()
        from seed in DomainGen.Seed()
        select Property.ForThese(() =>
        {
            var numberOfCalls = 0;
            var property      = gen.ForAll((_) =>
            {
                numberOfCalls++;
                return(true);
            });

            property.Check(iterations: iterations, seed: seed);

            numberOfCalls.Should().Be(iterations);
        });
Beispiel #6
0
 public NebulaCheck.IGen <Test> ItFalsifiesAPropertyThatOnlyFalsifiesAtLargerSizes() =>
 from iterations in DomainGen.Iterations(allowZero: false)
 from seed in DomainGen.Seed()
 select Property.ForThese(() =>
 {