Option Compare Text
Option Explicit
'AccUnit:TestClass
' Call from immediate window:
' TestSuite.AddByClassName("Debug_print_file_Tests").Run
'--------------------------------------------------------------------
' Test Preparation / Cleanup
'--------------------------------------------------------------------
Public Sub Setup()
RemoveTextFileIfExits
End Sub
Public Sub TearDown()
RemoveTextFileIfExits
End Sub
'--------------------------------------------------------------------
' Tests
'--------------------------------------------------------------------
'AccUnit:Row("abc", "xyz")
'AccUnit:Row("abc", "")
'AccUnit:Row("", "xyz")
Public Sub DebugPrintFile_NewFile_CompareText(ByVal messaggio As String, messaggio2 As String)
Dim Expected As String
Dim Actual As String
Debug_print_file messaggio, messaggio2
Expected = messaggio & " " & messaggio2 & Chr(13) & vbNewLine
Actual = GetTextFromFile
' Assert
Assert.That Actual, Iz.EqualTo(Expected)
End Sub
'AccUnit:Row("abc", "xyz")
'AccUnit:Row("abc", "")
'AccUnit:Row("", "xyz")
Public Sub DebugPrintFile_NewFileAndAppend_CompareText(ByVal messaggio As String, messaggio2 As String)
Dim Expected As String
Dim Actual As String
Const FirstEntryText As String = "xxx"
' create 1. entry
Debug_print_file FirstEntryText
' create 2. entry
Debug_print_file messaggio, messaggio2
Expected = FirstEntryText & " " & Chr(13) & vbNewLine & _
messaggio & " " & messaggio2 & Chr(13) & vbNewLine
Actual = GetTextFromFile
' Assert
Assert.That Actual, Iz.EqualTo(Expected)
End Sub
'--------------------------------------------------------------------
' Test helper
'--------------------------------------------------------------------
Private Sub RemoveTextFileIfExits()
Dim FileToCheck As String
FileToCheck = TextFilePath
If Len(VBA.Dir(FileToCheck)) > 0 Then
Kill FileToCheck
End If
End Sub
Private Property Get TextFilePath() As String
TextFilePath = Application.CurrentProject.Path & "\log_tempi.txt"
End Property
Private Function GetTextFromFile() As String
Dim FileNum As Long
Dim TextFromFile As String
FileNum = FreeFile()
Open TextFilePath For Input As FileNum
TextFromFile = Input$(LOF(FileNum), FileNum)
Close FileNum
GetTextFromFile = TextFromFile
End Function