public void Combine_ForLength3FromBinaryValues_Success() { var k = 3; var n = 1; //0, 1 var testable = new _2_1_2(); var expected = new[] { "000", "001", "010", "011", "100", "101", "110", "111" }; var result = testable.Run(k, n); Assert.That(result.Select(x => string.Join("", x)).ToArray(), Is.EquivalentTo(expected)); }
public void PropertyCombine_AnyInputValues_DifferenceShouldBeConstantForAllValues() { var testable = new _2_1_2(); Prop.ForAll <int, int>(Arb.From <int>().Filter(x => x > 0 && x < 5), Arb.From <int>().Filter(x => x > 0 && x < 10), (k, n) => { var init = Enumerable.Range(0, k).Select(x => 0).ToArray(); var last = Enumerable.Range(0, k).Select(x => n).ToArray(); var result = testable.Run(k, n); Assert.That(result.First().SequenceEqual(init)); Assert.That(result.Last().SequenceEqual(last)); }).QuickCheckThrowOnFailure(); }