Imports System.Collections.Generic
Private Function DealHand(deck as string(), hand_size as integer) As string()
Return {"Joker", "Joker"}
Private Function GetDeck() As string()
Dim result As New List(Of string)
For Each value In {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"}
For Each suit In {"Spades", "Diamonds", "Clubs", "Hearts"}
result.Add(value & " of " & suit)
Private Sub VerifyResult(result as string(), handSize as integer)
If result.Length <> handSize Then
Console.Out.WriteLine("Error - hand size does not match expected size of " & handSize)
Dim deck as string() = GetDeck()
If Not deck.Contains(card) Then
Console.Out.WriteLine("Error - found a card that wasn't in the deck.")
If Array.IndexOf(deck, card) <> Array.LastIndexOf(deck, card) Then
Console.Out.Writeline("Error - found a card that was used twice.")
Dim deck as string() = GetDeck()
Dim desiredHandSize as integer = 5
Dim dealtHand = DealHand(deck, desiredHandSize)
VerifyResult(dealtHand, desiredHandSize)