public void Flattens_5_Level_Nested_List() { var nestedList = new List <object> { 0, 2, new List <object> { new List <object> { 2, 3 }, 8, 100, 4, new List <object> { new List <object> { new List <object> { 50 } } }, -2 } }; Assert.That(Flattener.Flatten(nestedList), Is.EquivalentTo(new List <object> { 0, 2, 2, 3, 8, 100, 4, 50, -2 })); }
public void Flattens_6_Level_Nested_List() { var nestedList = new List <object> { 1, new List <object> { 2, new List <object> { new List <object> { 3 } }, new List <object> { 4, new List <object> { new List <object> { 5 } } }, 6, 7 }, 8 }; Assert.That(Flattener.Flatten(nestedList), Is.EquivalentTo(new List <object> { 1, 2, 3, 4, 5, 6, 7, 8 })); }
public void Flattens_5_Level_Nested_List() { var nestedList = new List <object> { 0, 2, new List <object> { new List <object> { 2, 3 }, 8, 100, 4, new List <object> { new List <object> { new List <object> { 50 } } }, -2 } }; Assert.Equal(new List <int> { 0, 2, 2, 3, 8, 100, 4, 50, -2 }, Flattener.Flatten(nestedList).Cast <int>()); }
public void Flattens_6_Level_Nested_List() { var nestedList = new List <object> { 1, new List <object> { 2, new List <object> { new List <object> { 3 } }, new List <object> { 4, new List <object> { new List <object> { 5 } } }, 6, 7 }, 8 }; Assert.Equal(new List <int> { 1, 2, 3, 4, 5, 6, 7, 8 }, Flattener.Flatten(nestedList).Cast <int>()); }
public void NonIntElementsThrow() { var array = new dynamic[] { 1, "2" }; var sut = new Flattener(); Assert.Throws <InvalidOperationException>(() => sut.Flatten(array)); }
public void Flattens_A_Nested_List() { var nestedList = new List <object> { new List <object>() }; Assert.That(Flattener.Flatten(nestedList), Is.Empty); }
// We don't want to run this one often since it adds an extra 7-8 seconds to the test run public void LargeNumberOfElementsGetsProcessed() { var expected = new int[10000000]; var sut = new Flattener(); var result = sut.Flatten(expected); Assert.Equal(expected, result); }
public void EmptyArray() { var array = new int[0]; var expected = new int[0]; var sut = new Flattener(); var result = sut.Flatten(array); Assert.Equal(expected, result); }
public void NestedElements() { var array = new dynamic[] { 1, 2, new dynamic[] { 3, 6, new[] { 7, 7, 7 } }, 4, 5 }; var expected = new[] { 1, 2, 3, 6, 7, 7, 7, 4, 5 }; var sut = new Flattener(); var result = sut.Flatten(array); Assert.Equal(expected, result); }
public void EmptyArrayElementsInMiddle() { var array = new dynamic[] { 1, 2, new string[] {}, 4, 5 }; var expected = new[] { 1, 2, 4, 5 }; var sut = new Flattener(); var result = sut.Flatten(array); Assert.Equal(expected, result); }
public void SingleAndMultiElements() { var array = new dynamic[] { 1, 2, new[] { 3, 6 }, 4, 5 }; var expected = new[] { 1, 2, 3, 6, 4, 5 }; var sut = new Flattener(); var result = sut.Flatten(array); Assert.Equal(expected, result); }
public void SingleElementsOnly() { var array = new int[] { 1, 2, 3, 4, 5 }; var expected = new int[] { 1, 2, 3, 4, 5 }; var sut = new Flattener(); var result = sut.Flatten(array); Assert.Equal(expected, result); }
public void Test3() { Flattener f = new Flattener(); object[] testArray = new object[] { 1, new object[] { }, 3, 4 }; var rc = f.Flatten(testArray); Assert.True(rc.Length == 3, "Length is incorrect, should be 3"); }
public void Test4() { Flattener f = new Flattener(); object[] testArray = new object[] { 1, new object[] { 2, 3, new object[] { 6, 7, 8 } }, 4, 5 }; var rc = f.Flatten(testArray); Assert.True(rc.Length == 8, "Length is incorrect, should be 8"); }
public void Test1() { Flattener f = new Flattener(); object[] testArray = new object[] {}; var rc = f.Flatten(testArray); Assert.True(rc.Length == 0, "Length is incorrect, should be 0"); }
public void Flattens_2_Level_Nested_List() { var nestedList = new List <object> { 1, new List <object> { 2, 3, 4 }, 5 }; Assert.That(Flattener.Flatten(nestedList), Is.EquivalentTo(new List <object> { 1, 2, 3, 4, 5 })); }
public void Flattens_2_Level_Nested_List() { var nestedList = new List <object> { 1, new List <object> { 2, 3, 4 }, 5 }; Assert.Equal(new List <int> { 1, 2, 3, 4, 5 }, Flattener.Flatten(nestedList).Cast <int>()); }
public void All_Null_Nested_List_Returns_Empty_List() { var nestedList = new List <object> { null, new List <object> { null, new List <object> { null }, new List <object> { new List <object> { new List <object> { null } } } }, null }; Assert.That(Flattener.Flatten(nestedList), Is.Empty); }
public void FullPositiveTest(IEnumerable <object> arrayOfArrays, IEnumerable <object> output) { IEnumerable <object> result = Flattener.Flatten(arrayOfArrays); Assert.Equal(output, result); }
public static IEnumerable <T> Before <T>(this IEnumerable <T> enumerable, IEnumerator <T> rest) { return(Flattener <T> .Flatten(new List <object> { enumerable, rest })); }
// Flatten nested enumerable to specific type // !! type T cannot implement IEnumerable or IEnumerator public static IEnumerable <T> FlattenTo <T>(this IEnumerable <dynamic> enumerable) { return(Flattener <T> .Flatten(enumerable)); }