public void ShiftValues() { var set = new ImmutableSet64().Add(1); set.Shift(1) .Single() .Should() .Be(2); set.Shift(-1) .Single() .Should() .Be(0); set.Shift(-2) .IsEmpty .Should() .BeTrue(); set = new ImmutableSet64().Add(0, 1, 2, 3, 12, 61, 62, 63); set.Shift(-2) .SequenceEqual(new int[] { 0, 1, 10, 59, 60, 61 }) .Should() .BeTrue(); set.Shift(2) .SequenceEqual(new int[] { 2, 3, 4, 5, 14, 63 }) .Should() .BeTrue(); }
public void ShiftAndFillValues() { var seta = new ImmutableSet64().Add(0); var setb = new ImmutableSet64().Add(63); seta.Shift(1, setb) .SequenceEqual(new int[] { 0, 1 }) .Should().BeTrue(); seta = new ImmutableSet64().Add(63); setb = new ImmutableSet64().Add(1, 7); seta.Shift(-2, setb) .SequenceEqual(new int[] { 61, 63 }) .Should() .BeTrue(); }