public NebulaCheck.IGen <Test> ItProducesValuesLikeInt32() =>
 from min in Gen.Byte()
 from max in Gen.Byte().GreaterThanEqual(min)
 from origin in Gen.Byte().Between(min, max)
 from bias in DomainGen.Bias()
 from seed in DomainGen.Seed()
 from size in DomainGen.Size()
 select Property.ForThese(() =>
 {
Exemplo n.º 2
0
        public NebulaCheck.IGen <Test> LessThanDefersToUnderlyingMethod() =>
        from maxExclusive in Gen.Byte().GreaterThan(byte.MinValue)
        select Property.ForThese(() =>
        {
            var mockGen = SetupMock();

            mockGen.Object.LessThan(maxExclusive);

            mockGen.Verify(gen => gen.LessThanEqual((byte)(maxExclusive - 1)), Times.Once);
        });
Exemplo n.º 3
0
        public NebulaCheck.IGen <Test> ItErrorsWhenMaximumIsLessThanOrigin() =>
        from max in Gen.Byte().LessThan(byte.MaxValue)
        from origin in Gen.Byte().GreaterThan(max)
        from seed in DomainGen.Seed()
        from size in DomainGen.Size()
        select Property.ForThese(() =>
        {
            var gen = GalaxyCheck.Gen.Byte().LessThanEqual(max).ShrinkTowards(origin);

            Action action = () => gen.SampleOne(seed: seed, size: size);

            action.Should()
            .Throw <GalaxyCheck.Exceptions.GenErrorException>()
            .WithMessage("Error while running generator Byte: 'origin' must be between 'min' and 'max'");
        });
Exemplo n.º 4
0
        public NebulaCheck.IGen <Test> ItErrorsWhenMinimumIsGreaterThanMaximum() =>
        from min in Gen.Byte().GreaterThan(byte.MinValue)
        from max in Gen.Byte().LessThan(min)
        from seed in DomainGen.Seed()
        from size in DomainGen.Size()
        select Property.ForThese(() =>
        {
            var gen = GalaxyCheck.Gen.Byte().GreaterThanEqual(min).LessThanEqual(max);

            Action action = () => gen.SampleOne(seed: seed, size: size);

            action.Should()
            .Throw <GalaxyCheck.Exceptions.GenErrorException>()
            .WithMessage("Error while running generator Byte: 'min' cannot be greater than 'max'");
        });
Exemplo n.º 5
0
        public NebulaCheck.IGen <Test> BetweenDefersToUnderlyingMethods() =>
        from min in Gen.Byte()
        from max in Gen.Byte().GreaterThanEqual(min)
        select Property.ForThese(() =>
        {
            {
                var mockGen = SetupMock();

                mockGen.Object.Between(min, max);

                mockGen.Verify(gen => gen.GreaterThanEqual(min), Times.Once);
                mockGen.Verify(gen => gen.LessThanEqual(max), Times.Once);
            }

            {
                var mockGen = SetupMock();

                mockGen.Object.Between(max, min);

                mockGen.Verify(gen => gen.GreaterThanEqual(min), Times.Once);
                mockGen.Verify(gen => gen.LessThanEqual(max), Times.Once);
            }
        });