From 8533dd001ec0457e1c8e4e3e7ea8ce69adefdee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Por=C4=99ba?= Date: Mon, 27 Mar 2023 16:26:35 +0100 Subject: [PATCH 1/5] improving test for GetEnumerable() --- .../practice/simple-linked-list/SimpleLinkedListTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs index 35a89822d2..dbc3997447 100644 --- a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs +++ b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs @@ -41,8 +41,8 @@ public void Two_item_list_second_item_has_no_next() [Fact(Skip = "Remove this Skip property to run this test")] public void Implements_enumerable() { - var values = new SimpleLinkedList(2).Add(1); - Assert.Equal(new[] { 2, 1 }, values); + var values = new SimpleLinkedList(2).Add(1).Add(3); + Assert.Equal(new[] { 2, 1, 3 }, values); } [Fact(Skip = "Remove this Skip property to run this test")] From 788083cb737b5f67dc4ce6c5a5c881fdffd4a6eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Por=C4=99ba?= Date: Wed, 29 Mar 2023 07:29:06 +0100 Subject: [PATCH 2/5] Update exercises/practice/simple-linked-list/SimpleLinkedListTests.cs Co-authored-by: Erik Schierboom --- .../simple-linked-list/SimpleLinkedListTests.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs index dbc3997447..0d2de91c22 100644 --- a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs +++ b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs @@ -41,8 +41,14 @@ public void Two_item_list_second_item_has_no_next() [Fact(Skip = "Remove this Skip property to run this test")] public void Implements_enumerable() { - var values = new SimpleLinkedList(2).Add(1).Add(3); - Assert.Equal(new[] { 2, 1, 3 }, values); + var list = new SimpleLinkedList(2).Add(1); + var enumerable = Assert.IsAssignableFrom>(list); + var enumerator = enumerable.GetEnumerator(); + Assert.True(enumerator.MoveNext()); + Assert.Equal(2, enumerator.Current); + Assert.True(enumerator.MoveNext()); + Assert.Equal(1, enumerator.Current); + Assert.False(enumerator.MoveNext()); } [Fact(Skip = "Remove this Skip property to run this test")] From 5f27f76461936c70f4eb04f30fab1b317a7512b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Por=C4=99ba?= Date: Wed, 29 Mar 2023 07:32:52 +0100 Subject: [PATCH 3/5] three values in Enumerable is more robust test --- .../practice/simple-linked-list/SimpleLinkedListTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs index 0d2de91c22..8319a5515e 100644 --- a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs +++ b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs @@ -41,13 +41,15 @@ public void Two_item_list_second_item_has_no_next() [Fact(Skip = "Remove this Skip property to run this test")] public void Implements_enumerable() { - var list = new SimpleLinkedList(2).Add(1); + var list = new SimpleLinkedList(2).Add(1).Add(3); var enumerable = Assert.IsAssignableFrom>(list); var enumerator = enumerable.GetEnumerator(); Assert.True(enumerator.MoveNext()); Assert.Equal(2, enumerator.Current); Assert.True(enumerator.MoveNext()); Assert.Equal(1, enumerator.Current); + Assert.True(enumerator.MoveNext()); + Assert.Equal(3, enumerator.Current); Assert.False(enumerator.MoveNext()); } From 85be642c7c40e5c3fbc1688492499fce2fd419eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Por=C4=99ba?= Date: Wed, 29 Mar 2023 07:41:25 +0100 Subject: [PATCH 4/5] safer facts not theories --- .../SimpleLinkedListTests.cs | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs index 8319a5515e..49729b2ec6 100644 --- a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs +++ b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs @@ -64,28 +64,22 @@ public void From_enumerable() Assert.Equal(2, list.Next.Next.Next.Next.Value); } - [Theory(Skip = "Remove this Skip property to run this test")] - [InlineData(1)] - [InlineData(2)] - [InlineData(10)] - [InlineData(100)] - public void Reverse(int length) + [Fact(Skip = "Remove this Skip property to run this test")] + public void Reverse() { - var values = Enumerable.Range(1, length).ToArray(); + var values = Enumerable.Range(1, 5).ToArray(); var list = new SimpleLinkedList(values); - var reversed = list.Reverse(); + var enumerable = Assert.IsAssignableFrom>(list); + var reversed = enumerable.Reverse(); Assert.Equal(values.Reverse(), reversed); } - [Theory(Skip = "Remove this Skip property to run this test")] - [InlineData(1)] - [InlineData(2)] - [InlineData(10)] - [InlineData(100)] - public void Roundtrip(int length) + [Fact(Skip = "Remove this Skip property to run this test")] + public void Roundtrip() { - var values = Enumerable.Range(1, length); - var listValues = new SimpleLinkedList(values); - Assert.Equal(values, listValues); + var values = Enumerable.Range(1, 7); + var list = new SimpleLinkedList(values); + var enumerable = Assert.IsAssignableFrom>(list); + Assert.Equal(values, enumerable); } } \ No newline at end of file From ae706239d08d2b64c420097aa42494d285def438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Por=C4=99ba?= Date: Wed, 29 Mar 2023 07:54:07 +0100 Subject: [PATCH 5/5] adding missing usings --- exercises/practice/simple-linked-list/SimpleLinkedListTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs index 49729b2ec6..c6c7e966eb 100644 --- a/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs +++ b/exercises/practice/simple-linked-list/SimpleLinkedListTests.cs @@ -1,4 +1,5 @@ using System.Linq; +using System.Collections.Generic; using Xunit; public class SimpleLinkedListTests