diff --git a/exercises/practice/satellite/.meta/tests.toml b/exercises/practice/satellite/.meta/tests.toml index b32dc3b13..d0ed5b6ac 100644 --- a/exercises/practice/satellite/.meta/tests.toml +++ b/exercises/practice/satellite/.meta/tests.toml @@ -26,3 +26,12 @@ description = "Reject inconsistent traversals of same length" [d86a3d72-76a9-43b5-9d3a-e64cb1216035] description = "Reject traversals with repeated items" + +[af31ae02-7e5b-4452-a990-bccb3fca9148] +description = "A degenerate binary tree" + +[ee54463d-a719-4aae-ade4-190d30ce7320] +description = "Another degenerate binary tree" + +[87123c08-c155-4486-90a4-e2f75b0f3e8f] +description = "Tree with many more items" diff --git a/exercises/practice/satellite/SatelliteTests.cs b/exercises/practice/satellite/SatelliteTests.cs index fbb286d9b..5a5672941 100644 --- a/exercises/practice/satellite/SatelliteTests.cs +++ b/exercises/practice/satellite/SatelliteTests.cs @@ -37,4 +37,25 @@ public void Reject_traversals_with_repeated_items() { Assert.Throws(() => Satellite.TreeFromTraversals(['a', 'b', 'a'], ['b', 'a', 'a'])); } + + [Fact(Skip = "Remove this Skip property to run this test")] + public void A_degenerate_binary_tree() + { + var expected = new Tree('a', new Tree('b', new Tree('c', new Tree('d', null, null), null), null), null); + Assert.Equal(expected, Satellite.TreeFromTraversals(['a', 'b', 'c', 'd'], ['d', 'c', 'b', 'a'])); + } + + [Fact(Skip = "Remove this Skip property to run this test")] + public void Another_degenerate_binary_tree() + { + var expected = new Tree('a', null, new Tree('b', null, new Tree('c', null, new Tree('d', null, null)))); + Assert.Equal(expected, Satellite.TreeFromTraversals(['a', 'b', 'c', 'd'], ['a', 'b', 'c', 'd'])); + } + + [Fact(Skip = "Remove this Skip property to run this test")] + public void Tree_with_many_more_items() + { + var expected = new Tree('a', new Tree('b', new Tree('d', new Tree('g', null, null), new Tree('h', null, null)), null), new Tree('c', new Tree('e', null, null), new Tree('f', new Tree('i', null, null), null))); + Assert.Equal(expected, Satellite.TreeFromTraversals(['a', 'b', 'd', 'g', 'h', 'c', 'e', 'f', 'i'], ['g', 'd', 'h', 'b', 'a', 'e', 'c', 'i', 'f'])); + } }