Skip to content

Instantly share code, notes, and snippets.

@rubberduck203
Last active August 29, 2015 14:13
Show Gist options
  • Save rubberduck203/bc2399a38ac171e1ab0d to your computer and use it in GitHub Desktop.
Save rubberduck203/bc2399a38ac171e1ab0d to your computer and use it in GitHub Desktop.
Rubberduck Unit Tests for Roman Numeral Kata
Option Explicit
Option Private Module
' Unit Tests for the Roman Numeral Kata (Part I)
' http://codingdojo.org/cgi-bin/index.pl?KataRomanNumerals
' Uses the Rubberduck VBE Add-in Unit Testing framework
' https://github.com/retailcoder/Rubberduck
'@TestModule
Private Assert As New Rubberduck.AssertClass
'@TestMethod
Public Sub OneEqualsI()
On Error GoTo TestFail
Arrange:
Const expected As String = "I"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(1)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FiveEqualsV()
On Error GoTo TestFail
Arrange:
Const expected As String = "V"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(5)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub TenEqualsX()
On Error GoTo TestFail
Arrange:
Const expected As String = "X"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(10)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FiftyEqualsL()
On Error GoTo TestFail
Arrange:
Const expected As String = "L"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(50)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub HundredEqualsC()
On Error GoTo TestFail
Arrange:
Const expected As String = "C"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(100)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FiveHundredEqualsD()
On Error GoTo TestFail
Arrange:
Const expected As String = "D"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(500)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub OneThousandEqualsM()
On Error GoTo TestFail
Arrange:
Const expected As String = "M"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(1000)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub TwoDoublesOne()
On Error GoTo TestFail
Arrange:
Const expected As String = "II"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(2)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub ThreeEqualsIII()
On Error GoTo TestFail
Arrange:
Const expected As String = "III"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(3)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FourEqualsIV()
On Error GoTo TestFail
Arrange:
Const expected As String = "IV"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(4)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub SixEqualsVI()
On Error GoTo TestFail
Arrange:
Const expected As String = "VI"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(6)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub SevenEqualsVII()
On Error GoTo TestFail
Arrange:
Const expected As String = "VII"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(7)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub EightEqualsVIII() 'TODO: Rename test
On Error GoTo TestFail
Arrange:
Const expected As String = "VIII"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(8)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub NineEqualsIX()
On Error GoTo TestFail
Arrange:
Const expected As String = "IX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(9)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Eleven()
On Error GoTo TestFail
Arrange:
Const expected As String = "XI"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(11)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Twelve()
On Error GoTo TestFail
Arrange:
Const expected As String = "XII"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(12)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Thirteen()
On Error GoTo TestFail
Arrange:
Const expected As String = "XIII"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(13)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Fourteen()
On Error GoTo TestFail
Arrange:
Const expected As String = "XIV"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(14)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Fifteen()
On Error GoTo TestFail
Arrange:
Const expected As String = "XV"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(15)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Sixteen()
On Error GoTo TestFail
Arrange:
Const expected As String = "XVI"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(16)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Seventeen()
On Error GoTo TestFail
Arrange:
Const expected As String = "XVII"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(17)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Eighteen()
On Error GoTo TestFail
Arrange:
Const expected As String = "XVIII"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(18)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Nineteen()
On Error GoTo TestFail
Arrange:
Const expected As String = "XIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(19)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Twenty()
On Error GoTo TestFail
Arrange:
Const expected As String = "XX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(20)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub TwentyThree()
On Error GoTo TestFail
Arrange:
Const expected As String = "XXIII"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(23)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub TwentyFour()
On Error GoTo TestFail
Arrange:
Const expected As String = "XXIV"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(24)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub TwentyFive()
On Error GoTo TestFail
Arrange:
Const expected As String = "XXV"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(25)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub TwentySix()
On Error GoTo TestFail
Arrange:
Const expected As String = "XXVI"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(26)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub TwentyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "XXIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(29)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Thirty()
On Error GoTo TestFail
Arrange:
Const expected As String = "XXX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(30)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub ThirtyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "XXXIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(39)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Forty()
On Error GoTo TestFail
Arrange:
Const expected As String = "XL"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(40)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FortyOne()
On Error GoTo TestFail
Arrange:
Const expected As String = "XLI"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(41)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FortyFour()
On Error GoTo TestFail
Arrange:
Const expected As String = "XLIV"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(44)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FortyFive()
On Error GoTo TestFail
Arrange:
Const expected As String = "XLV"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(45)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FortySix()
On Error GoTo TestFail
Arrange:
Const expected As String = "XLVI"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(46)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FortyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "XLIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(49)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FiftyOne()
On Error GoTo TestFail
Arrange:
Const expected As String = "LI"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(51)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub EightyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "LXXXIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(89)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub Ninety()
On Error GoTo TestFail
Arrange:
Const expected As String = "XC"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(90)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub NinetyOne()
On Error GoTo TestFail
Arrange:
Const expected As String = "XCI"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(91)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub NinetyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "XCIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(99)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub OneFifty()
On Error GoTo TestFail
Arrange:
Const expected As String = "CL"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(150)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub ThreeSixty()
On Error GoTo TestFail
Arrange:
Const expected As String = "CCCLX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(360)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub ThreeNinetyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "CCCXCIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(399)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FourHundred()
On Error GoTo TestFail
Arrange:
Const expected As String = "CD"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(400)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FourHundredFortyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "CDXLIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(449)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FourHundredNinetyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "CDXCIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(499)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub SixHundred()
On Error GoTo TestFail
Arrange:
Const expected As String = "DC"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(600)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub EightHundredNinety()
On Error GoTo TestFail
Arrange:
Const expected As String = "DCCCXC"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(890)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub NineHundred()
On Error GoTo TestFail
Arrange:
Const expected As String = "CM"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(900)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub OneThousandOneHundred()
On Error GoTo TestFail
Arrange:
Const expected As String = "MC"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(1100)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub OneThousandFourHundredNinetyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "MCDXCIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(1499)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub TwoThousand()
On Error GoTo TestFail
Arrange:
Const expected As String = "MM"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(2000)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub ThreeThousand()
On Error GoTo TestFail
Arrange:
Const expected As String = "MMM"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(3000)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub ThreeThousandNineHundredNinetyNine()
On Error GoTo TestFail
Arrange:
Const expected As String = "MMMCMXCIX"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(3999)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
'@TestMethod
Public Sub FourThousand()
On Error GoTo TestFail
Arrange:
Const expected As String = "MMMM"
Act:
Dim actual As String
actual = ConvertToRomanNumeral(4000)
Assert:
Assert.AreEqual expected, actual
TestExit:
Exit Sub
TestFail:
If Err.number <> 0 Then
Assert.Fail "Test raised an error: #" & Err.number & " - " & Err.Description
Else
Resume TestExit
End If
End Sub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment