Mortimer is taking up TDD, and starts a new project by writing the following test.
_
Public Sub CanReverseString()
Dim input As String = "OdeToCode"
Dim result As String = Utility.ReverseString(input)
Assert.AreEqual("edoCoTedO", result)
End Sub
Yes, it's another one of those big projects that reverses strings all the time.
With a test in place, Mortimer writes the following stub.
Public Class Utility
Public Shared Function ReverseString( _
ByVal input As String) As String
Return Nothing
End Function
End Class
Good news - the test fails! Now it's time to provide a real implementation...
Public Class Utility
Public Shared Function ReverseString( _
ByVal input As String) As String
Dim chars As Char()
chars = New Char(input.Length) {}
For i As Integer = 0 To input.Length - 1
chars(i) = input(input.Length - i - 1)
Next
Return New String(chars)
End Function
End Class
Mortimer thinks he has everything straight - but the test still fails! What could be wrong with Mortimer's ReverseString?
