public void BasicTests() { NestedListFlatter flatter = new NestedListFlatter(); var nested1 = new List <object> { 1 }; var flat1 = new List <int> { 1 }; Assert.IsTrue(ListsEqual(flat1, flatter.FlattenRecursive(nested1))); //[[1,2,[3]],4] → [1,2,3,4] var nested1234 = new List <object> { new List <object> { 1, 2, new List <object> { 3 } }, 4 }; Console.WriteLine(flatter.NestedListToString(nested1234)); var flat1234 = new List <int> { 1, 2, 3, 4 }; bool test1Res = ListsEqual(flat1234, flatter.FlattenRecursive(nested1234)); Assert.IsTrue(test1Res); }
public void NestedListRandomTest(int n) { NestedListFlatter flatter = new NestedListFlatter(); List <int> flatList = new List <int>(); for (int i = 0; i < n; i++) { flatList.Add(i); } List <object> nestedList = RandomNestedList(n); List <int> flatNestedList = flatter.FlattenIterative(nestedList); Assert.AreEqual(true, ListsEqual(flatList, flatNestedList)); }
void NestedListProblem() { //[[1,2,[3]],4] → [1,2,3,4] var nested1234 = new List <object> { new List <object> { 1, 2, new List <object> { 3 } }, 4 }; NestedListFlatter flatter = new NestedListFlatter(); Console.WriteLine(flatter.NestedListToString(nested1234)); var flatList = flatter.NestedListToString(nested1234); foreach (var item in flatList) { Console.Write(item + " "); } }