public IGen <Test> IfListIsOrdered_ItWillNotShrink() => from keySelector in Gen.Function <int, int>(Gen.Int32()).NoShrink() from list in Gen.Int32().ListOf().Select(l => l.OrderBy(keySelector)) select Property.ForThese(() => { var func = ShrinkFunc.Order(keySelector); var shrinks = func(list.ToList()); shrinks.Should().BeEmpty(); });
public IGen <Test> IfListIsNotOrdered_ItWillProduceASingleOrderedShrink() => from keySelector in Gen.Function <int, int>(Gen.Int32()).NoShrink() from list in Gen.Int32().ListOf() where list.SequenceEqual(list.OrderBy(keySelector)) == false select Property.ForThese(() => { var func = ShrinkFunc.Order(keySelector); var shrinks = func(list.ToList()); shrinks.Should() .ContainSingle() .Subject.Should().BeEquivalentTo(list.OrderBy(keySelector)); });