private void AddRemoveAtTestImpl(InsertRemoveScenario scenario) { IPersistentList <int> list = PersistentList <int> .Empty; List <int> expected = new List <int>(); int i = 0; foreach (int position in scenario.InsertionOrder) { list = list.Add(position, i); expected.Insert(position, i); CheckListEquality(expected, list); i++; } foreach (int position in scenario.RemovalOrder) { list = list.RemoveAt(position, out int removedValue); Assert.Equal(expected[position], removedValue); expected.RemoveAt(position); CheckListEquality(expected, list); } }
public void AddRemoveAtTestRandomized(InsertRemoveScenario scenario) => AddRemoveAtTestImpl(scenario);
public void AddRemoveAtTest(InsertRemoveScenario scenario) => AddRemoveAtTestImpl(scenario);