public void Test_Span2DT_FillAndClear_2() { int[,] array = { { 1, 2, 3 }, { 4, 5, 6 } }; // Same as above, just with different slicing to a target smaller 2D area Span2D <int> span2d = new Span2D <int>(array, 0, 1, 2, 2); span2d.Fill(42); int[,] filled = { { 1, 42, 42 }, { 4, 42, 42 } }; CollectionAssert.AreEqual(array, filled); span2d.Clear(); int[,] cleared = { { 1, 0, 0 }, { 4, 0, 0 } }; CollectionAssert.AreEqual(array, cleared); }
public void Test_Span2DT_Fill_Empty() { int[,] array = { { 1, 2, 3 }, { 4, 5, 6 } }; // Same as above, but with an initial slicing as well to ensure // these method work correctly with different internal offsets Span2D <int> span2d = new Span2D <int>(array, 0, 0, 0, 0); span2d.Fill(42); CollectionAssert.AreEqual(array, array); span2d.Clear(); CollectionAssert.AreEqual(array, array); }
public void Test_Span2DT_FillAndClear_1() { int[,] array = { { 1, 2, 3 }, { 4, 5, 6 } }; // Tests for the Fill and Clear APIs for Span2D<T>. These should fill // or clear the entire wrapped 2D array (just like eg. Span<T>.Fill). Span2D <int> span2d = new Span2D <int>(array); span2d.Fill(42); Assert.IsTrue(array.Cast <int>().All(n => n == 42)); span2d.Clear(); Assert.IsTrue(array.Cast <int>().All(n => n == 0)); }