public IGen <Test> ItWillProduceDistinctShrinks() => from minLength in TestGen.MinLength() from list in DomainGen.AnyList().WithCountGreaterThan(minLength) select Property.ForThese(() => { var func = ShrinkFunc.DropOne <object>(minLength); var shrinks = func(list.ToList()); shrinks.Should().OnlyHaveUniqueItems(); });
public IGen <Test> IfListLengthIsLessThanOrEqualMinLength_ItWillNotShrink() => from minLength in TestGen.MinLength() from list in DomainGen.AnyList().WithCountLessThanEqual(minLength) select Property.ForThese(() => { var func = ShrinkFunc.DropOne <object>(minLength); var shrinks = func(list.ToList()); shrinks.Should().BeEmpty(); });
public IGen <Test> ItWillProduceAShrinkForEachElementInTheList() => from minLength in TestGen.MinLength() from list in DomainGen.AnyList().WithCountGreaterThan(minLength) select Property.ForThese(() => { var func = ShrinkFunc.DropOne <object>(minLength); var shrinks = func(list.ToList()); shrinks.Should() .NotBeEmpty().And .OnlyContain(shrink => shrink.Count == list.Count - 1); });