diff --git a/exercises/practice/allergies/AllergiesTests.vb b/exercises/practice/allergies/AllergiesTests.vb index da47628..a1b8013 100644 --- a/exercises/practice/allergies/AllergiesTests.vb +++ b/exercises/practice/allergies/AllergiesTests.vb @@ -1,106 +1,350 @@ Imports XUnit - Public Class AllergiesTest - Public Sub NoAllergiesMeansNotAllergic() + Public Sub NotAllergicToAnythingEggs() Dim allergies = New Allergies(0) - Assert.Equal(allergies.AllergicTo("peanuts"), False) - Assert.Equal(allergies.AllergicTo("cats"), False) - Assert.Equal(allergies.AllergicTo("strawberries"), False) + Assert.False(allergies.AllergicTo("eggs")) End Sub - Public Sub AllergicToEggs() + Public Sub AllergicOnlyToEggs() Dim allergies = New Allergies(1) - Assert.Equal(allergies.AllergicTo("eggs"), True) + Assert.True(allergies.AllergicTo("eggs")) + End Sub + + + Public Sub AllergicToEggsAndSomethingElse() + Dim allergies = New Allergies(3) + Assert.True(allergies.AllergicTo("eggs")) + End Sub + + + Public Sub AllergicToSomethingButNotEggs() + Dim allergies = New Allergies(2) + Assert.False(allergies.AllergicTo("eggs")) End Sub - Public Sub AllergicToEggsInAdditionToOtherStuff() + Public Sub AllergicToEverythingEggs() + Dim allergies = New Allergies(255) + Assert.True(allergies.AllergicTo("eggs")) + End Sub + + + Public Sub NotAllergicToAnythingPeanuts() + Dim allergies = New Allergies(0) + Assert.False(allergies.AllergicTo("peanuts")) + End Sub + + + Public Sub AllergicOnlyToPeanuts() + Dim allergies = New Allergies(2) + Assert.True(allergies.AllergicTo("peanuts")) + End Sub + + + Public Sub AllergicToPeanutsAndSomethingElse() + Dim allergies = New Allergies(7) + Assert.True(allergies.AllergicTo("peanuts")) + End Sub + + + Public Sub AllergicToSomethingButNotPeanuts() Dim allergies = New Allergies(5) - Assert.Equal(allergies.AllergicTo("eggs"), True) - Assert.Equal(allergies.AllergicTo("shellfish"), True) - Assert.Equal(allergies.AllergicTo("strawberries"), False) + Assert.False(allergies.AllergicTo("peanuts")) + End Sub + + + Public Sub AllergicToEverythingPeanuts() + Dim allergies = New Allergies(255) + Assert.True(allergies.AllergicTo("peanuts")) + End Sub + + + Public Sub NotAllergicToAnythingShellfish() + Dim allergies = New Allergies(0) + Assert.False(allergies.AllergicTo("shellfish")) + End Sub + + + Public Sub AllergicOnlyToShellfish() + Dim allergies = New Allergies(4) + Assert.True(allergies.AllergicTo("shellfish")) + End Sub + + + Public Sub AllergicToShellfishAndSomethingElse() + Dim allergies = New Allergies(14) + Assert.True(allergies.AllergicTo("shellfish")) + End Sub + + + Public Sub AllergicToSomethingButNotShellfish() + Dim allergies = New Allergies(10) + Assert.False(allergies.AllergicTo("shellfish")) + End Sub + + + Public Sub AllergicToEverythingShellfish() + Dim allergies = New Allergies(255) + Assert.True(allergies.AllergicTo("shellfish")) + End Sub + + + Public Sub NotAllergicToAnythingStrawberries() + Dim allergies = New Allergies(0) + Assert.False(allergies.AllergicTo("strawberries")) + End Sub + + + Public Sub AllergicOnlyToStrawberries() + Dim allergies = New Allergies(8) + Assert.True(allergies.AllergicTo("strawberries")) + End Sub + + + Public Sub AllergicToStrawberriesAndSomethingElse() + Dim allergies = New Allergies(28) + Assert.True(allergies.AllergicTo("strawberries")) + End Sub + + + Public Sub AllergicToSomethingButNotStrawberries() + Dim allergies = New Allergies(20) + Assert.False(allergies.AllergicTo("strawberries")) + End Sub + + + Public Sub AllergicToEverythingStrawberries() + Dim allergies = New Allergies(255) + Assert.True(allergies.AllergicTo("strawberries")) + End Sub + + + Public Sub NotAllergicToAnythingTomatoes() + Dim allergies = New Allergies(0) + Assert.False(allergies.AllergicTo("tomatoes")) + End Sub + + + Public Sub AllergicOnlyToTomatoes() + Dim allergies = New Allergies(16) + Assert.True(allergies.AllergicTo("tomatoes")) + End Sub + + + Public Sub AllergicToTomatoesAndSomethingElse() + Dim allergies = New Allergies(56) + Assert.True(allergies.AllergicTo("tomatoes")) + End Sub + + + Public Sub AllergicToSomethingButNotTomatoes() + Dim allergies = New Allergies(40) + Assert.False(allergies.AllergicTo("tomatoes")) + End Sub + + + Public Sub AllergicToEverythingTomatoes() + Dim allergies = New Allergies(255) + Assert.True(allergies.AllergicTo("tomatoes")) + End Sub + + + Public Sub NotAllergicToAnythingChocolate() + Dim allergies = New Allergies(0) + Assert.False(allergies.AllergicTo("chocolate")) + End Sub + + + Public Sub AllergicOnlyToChocolate() + Dim allergies = New Allergies(32) + Assert.True(allergies.AllergicTo("chocolate")) + End Sub + + + Public Sub AllergicToChocolateAndSomethingElse() + Dim allergies = New Allergies(112) + Assert.True(allergies.AllergicTo("chocolate")) + End Sub + + + Public Sub AllergicToSomethingButNotChocolate() + Dim allergies = New Allergies(80) + Assert.False(allergies.AllergicTo("chocolate")) + End Sub + + + Public Sub AllergicToEverythingChocolate() + Dim allergies = New Allergies(255) + Assert.True(allergies.AllergicTo("chocolate")) + End Sub + + + Public Sub NotAllergicToAnythingPollen() + Dim allergies = New Allergies(0) + Assert.False(allergies.AllergicTo("pollen")) + End Sub + + + Public Sub AllergicOnlyToPollen() + Dim allergies = New Allergies(64) + Assert.True(allergies.AllergicTo("pollen")) + End Sub + + + Public Sub AllergicToPollenAndSomethingElse() + Dim allergies = New Allergies(224) + Assert.True(allergies.AllergicTo("pollen")) End Sub - Public Sub NoAllergiesAtAll() + Public Sub AllergicToSomethingButNotPollen() + Dim allergies = New Allergies(160) + Assert.False(allergies.AllergicTo("pollen")) + End Sub + + + Public Sub AllergicToEverythingPollen() + Dim allergies = New Allergies(255) + Assert.True(allergies.AllergicTo("pollen")) + End Sub + + + Public Sub NotAllergicToAnythingCats() Dim allergies = New Allergies(0) - Assert.Equal(allergies.List().Count, 0) + Assert.False(allergies.AllergicTo("cats")) + End Sub + + + Public Sub AllergicOnlyToCats() + Dim allergies = New Allergies(128) + Assert.True(allergies.AllergicTo("cats")) + End Sub + + + Public Sub AllergicToCatsAndSomethingElse() + Dim allergies = New Allergies(192) + Assert.True(allergies.AllergicTo("cats")) End Sub - Public Sub AllergicToJustEggs() + Public Sub AllergicToSomethingButNotCats() + Dim allergies = New Allergies(64) + Assert.False(allergies.AllergicTo("cats")) + End Sub + + + Public Sub AllergicToEverythingCats() + Dim allergies = New Allergies(255) + Assert.True(allergies.AllergicTo("cats")) + End Sub + + + Public Sub NoAllergies() + Dim allergies = New Allergies(0) + Dim expected = New List(Of String) + Assert.Equal(expected, allergies.List()) + End Sub + + + Public Sub JustEggs() Dim allergies = New Allergies(1) - Assert.Equal(allergies.List(), New List(Of String) From { + Dim expected = New List(Of String) From { "eggs" - }) + } + Assert.Equal(expected, allergies.List()) End Sub - Public Sub AllergicToJustPeanuts() + Public Sub JustPeanuts() Dim allergies = New Allergies(2) - Assert.Equal(allergies.List(), New List(Of String) From { + Dim expected = New List(Of String) From { "peanuts" - }) + } + Assert.Equal(expected, allergies.List()) End Sub - Public Sub AllergicToEggsAndPeanuts() + Public Sub JustStrawberries() + Dim allergies = New Allergies(8) + Dim expected = New List(Of String) From { + "strawberries" + } + Assert.Equal(expected, allergies.List()) + End Sub + + + Public Sub EggsAndPeanuts() Dim allergies = New Allergies(3) - Assert.Equal(allergies.List(), New List(Of String) From { + Dim expected = New List(Of String) From { "eggs", "peanuts" - }) + } + Assert.Equal(expected, allergies.List()) + End Sub + + + Public Sub MoreThanEggsButNotPeanuts() + Dim allergies = New Allergies(5) + Dim expected = New List(Of String) From { + "eggs", + "shellfish" + } + Assert.Equal(expected, allergies.List()) End Sub - Public Sub AllergicToLotsOfStuff() + Public Sub LotsOfStuff() Dim allergies = New Allergies(248) - Assert.Equal(allergies.List(), New List(Of String)() From { _ - "strawberries", _ - "tomatoes", _ - "chocolate", _ - "pollen", _ - "cats" _ - }) + Dim expected = New List(Of String) From { + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats" + } + Assert.Equal(expected, allergies.List()) End Sub - Public Sub AllergicToEverything() + Public Sub Everything() Dim allergies = New Allergies(255) - Assert.Equal(allergies.List(), New List(Of String)() From { _ - "eggs", _ - "peanuts", _ - "shellfish", _ - "strawberries", _ - "tomatoes", _ - "chocolate", _ - "pollen", _ - "cats" _ - }) + Dim expected = New List(Of String) From { + "eggs", + "peanuts", + "shellfish", + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats" + } + Assert.Equal(expected, allergies.List()) End Sub - Public Sub IgnoreNonAllergenScoreParts() + Public Sub NoAllergenScoreParts() Dim allergies = New Allergies(509) - Assert.Equal(allergies.List(), New List(Of String)() From { _ - "eggs", _ - "shellfish", _ - "strawberries", _ - "tomatoes", _ - "chocolate", _ - "pollen", _ - "cats" _ - }) + Dim expected = New List(Of String) From { + "eggs", + "shellfish", + "strawberries", + "tomatoes", + "chocolate", + "pollen", + "cats" + } + Assert.Equal(expected, allergies.List()) End Sub Public Sub NoAllergenScorePartsWithoutHighestValidScore() Dim allergies = New Allergies(257) - Assert.Equal(allergies.List(), New List(Of String)() From { _ + Dim expected = New List(Of String) From { "eggs" - }) + } + Assert.Equal(expected, allergies.List()) End Sub End Class