public void UnitRb_ElementsBetweenIndexes() { int n = 33; var rb = new RankedBag <int> { Capacity = 4 }; for (int ii = 0; ii < n; ++ii) { rb.Add(ii); } for (int p1 = 0; p1 < n; ++p1) { for (int p2 = p1; p2 < n; ++p2) { int actual = 0; foreach (var val in rb.ElementsBetweenIndexes(p1, p2)) { actual += val; } int expected = (p2 - p1 + 1) * (p1 + p2) / 2; Assert.AreEqual(expected, actual); } } }
public void CrashRb_ElementsBetweenIndexes_Argument() { var rb = new RankedBag <int> { 0, 1, 2 }; foreach (var val in rb.ElementsBetweenIndexes(2, 1)) { } }
public void CrashRb_ElementsBetweenIndexesD_ArgumentOutOfRange() { var rb = new RankedBag <int> { 0, 1, 2 }; foreach (var val in rb.ElementsBetweenIndexes(0, 3)) { } }