Skip to content

Commit

Permalink
Specify result type as IEnumerable
Browse files Browse the repository at this point in the history
  • Loading branch information
BNAndras committed Feb 25, 2025
1 parent de51f49 commit cbbfa47
Show file tree
Hide file tree
Showing 14 changed files with 433 additions and 196 deletions.
54 changes: 33 additions & 21 deletions exercises/practice/all-your-base/AllYourBaseTests.vb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ Public Class AllYourBaseTests
Dim digits = {1}
Dim outputBase = 10
Dim expected = {1}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -16,7 +17,8 @@ Public Class AllYourBaseTests
Dim digits = {1, 0, 1}
Dim outputBase = 10
Dim expected = {5}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -25,7 +27,8 @@ Public Class AllYourBaseTests
Dim digits = {5}
Dim outputBase = 2
Dim expected = {1, 0, 1}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -34,7 +37,8 @@ Public Class AllYourBaseTests
Dim digits = {1, 0, 1, 0, 1, 0}
Dim outputBase = 10
Dim expected = {4, 2}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -43,7 +47,8 @@ Public Class AllYourBaseTests
Dim digits = {4, 2}
Dim outputBase = 2
Dim expected = {1, 0, 1, 0, 1, 0}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -52,7 +57,8 @@ Public Class AllYourBaseTests
Dim digits = {1, 1, 2, 0}
Dim outputBase = 16
Dim expected = {2, 10}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -61,7 +67,8 @@ Public Class AllYourBaseTests
Dim digits = {2, 10}
Dim outputBase = 3
Dim expected = {1, 1, 2, 0}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -70,7 +77,8 @@ Public Class AllYourBaseTests
Dim digits = {3, 46, 60}
Dim outputBase = 73
Dim expected = {6, 10, 45}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -79,7 +87,8 @@ Public Class AllYourBaseTests
Dim digits = Array.Empty(Of Integer)()
Dim outputBase = 10
Dim expected = {0}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -88,7 +97,8 @@ Public Class AllYourBaseTests
Dim digits = {0}
Dim outputBase = 2
Dim expected = {0}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -97,7 +107,8 @@ Public Class AllYourBaseTests
Dim digits = {0, 0, 0}
Dim outputBase = 2
Dim expected = {0}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Expand All @@ -106,78 +117,79 @@ Public Class AllYourBaseTests
Dim digits = {0, 6, 0}
Dim outputBase = 10
Dim expected = {4, 2}
Assert.Equal(expected, Rebase(inputBase, digits, outputBase).AsEnumerable())
Dim result as IEnumerable(Of Integer) = Rebase(inputBase, digits, outputBase)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub InputBaseIsOne()
Dim inputBase = 1
Dim digits = {0}
Dim outputBase = 10
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub InputBaseIsZero()
Dim inputBase = 0
Dim digits = Array.Empty(Of Integer)()
Dim outputBase = 10
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub InputBaseIsNegative()
Dim inputBase = -2
Dim digits = {1}
Dim outputBase = 10
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub NegativeDigit()
Dim inputBase = 2
Dim digits = {1, -1, 1, 0, 1, 0}
Dim outputBase = 10
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub InvalidPositiveDigit()
Dim inputBase = 2
Dim digits = {1, 2, 1, 0, 1, 0}
Dim outputBase = 10
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub OutputBaseIsOne()
Dim inputBase = 2
Dim digits = {1, 0, 1, 0, 1, 0}
Dim outputBase = 1
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub OutputBaseIsZero()
Dim inputBase = 10
Dim digits = {7}
Dim outputBase = 0
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub OutputBaseIsNegative()
Dim inputBase = 2
Dim digits = {1}
Dim outputBase = -7
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub BothBasesAreNegative()
Dim inputBase = -2
Dim digits = {1}
Dim outputBase = -7
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase).AsEnumerable())
Assert.Throws(Of ArgumentException)(Function() Rebase(inputBase, digits, outputBase))
End Sub
End Class
63 changes: 36 additions & 27 deletions exercises/practice/anagram/AnagramTests.vb
Original file line number Diff line number Diff line change
Expand Up @@ -5,74 +5,83 @@ Public Class AnagramTest
<Fact>
Public Sub NoMatches()
Dim detector = New Anagram("diaper")
Dim words = New String() {"hello", "world", "zombies", "pants"}
Dim results = New String() {}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim words = {"hello", "world", "zombies", "pants"}
Dim expected = Array.Empty(Of String)()
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub DetectSimpleAnagram()
Dim detector = New Anagram("ant")
Dim words = New String() {"tan", "stand", "at"}
Dim results = New String() {"tan"}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim words = {"tan", "stand", "at"}
Dim expected = {"tan"}
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub DetectMultipleAnagrams()
Dim detector = New Anagram("master")
Dim words = New String() {"stream", "pigeon", "maters"}
Dim results = New String() {"maters", "stream"}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim words = {"stream", "pigeon", "maters"}
Dim expected = {"maters", "stream"}
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub DoesNotConfuseDifferentDuplicates()
Dim detector = New Anagram("galea")
Dim words = New String() {"eagle"}
Dim results = New String() {}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim words = {"eagle"}
Dim expected = Array.Empty(Of String)()
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub IdenticalWordIsNotAnagram()
Dim detector = New Anagram("corn")
Dim words = New String() {"corn", "dark", "Corn", "rank", "CORN", "cron",
Dim words = {"corn", "dark", "Corn", "rank", "CORN", "cron",
"park"}
Dim results = New String() {"cron"}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim expected = {"cron"}
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub EliminateAnagramsWithSameChecksum()
Dim detector = New Anagram("mass")
Dim words = New String() {"last"}
Dim results = New String(-1) {}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim words = {"last"}
Dim expected = Array.Empty(Of String)()
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub EliminateAnagramSubsets()
Dim detector = New Anagram("good")
Dim words = New String() {"dog", "goody"}
Dim results = New String(-1) {}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim words = {"dog", "goody"}
Dim expected = Array.Empty(Of String)()
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub DetectAnagrams()
Dim detector = New Anagram("allergy")
Dim words = New String() {"gallery", "ballerina", "regally", "clergy", "largely", "leading"}
Dim results = New String() {"gallery", "largely", "regally"}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim words = {"gallery", "ballerina", "regally", "clergy", "largely", "leading"}
Dim expected = {"gallery", "largely", "regally"}
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub AnagramsAreCaseInsensitive()
Dim detector = New Anagram("Orchestra")
Dim words = New String() {"cashregister", "Carthorse", "radishes"}
Dim results = New String() {"Carthorse"}
Assert.Equal(detector.Match(words).AsEnumerable(), results)
Dim words = {"cashregister", "Carthorse", "radishes"}
Dim expected = {"Carthorse"}
Dim result as IEnumerable(Of String) = detector.Match(words)
Assert.Equal(expected, result)
End Sub

End Class
Loading

0 comments on commit cbbfa47

Please sign in to comment.