Skip to content

Commit ae55c2a

Browse files
Add test with option compare text true
1 parent 58eeadf commit ae55c2a

1 file changed

Lines changed: 120 additions & 0 deletions

File tree

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
Option Compare Text
2+
3+
Imports System
4+
Imports System.Linq
5+
Imports Xunit
6+
7+
8+
Public Class StringEqualityTests
9+
10+
<Fact>
11+
Public Sub TestStringComparison()
12+
Dim s1 As String = Nothing
13+
Dim s2 As String = ""
14+
Assert.True(s1 = s2)
15+
End Sub
16+
17+
<Fact>
18+
Public Sub VisualBasicEqualityOfCharArrays()
19+
Assert.True(New Char() {} = New Char() {}, "Char arrays should be compared as strings because that's what happens in VB")
20+
End Sub
21+
22+
Private nullObject As Object = Nothing
23+
Private nullString As String = Nothing
24+
Private emptyStringObject As Object = ""
25+
Private emptyString As String = ""
26+
Private nonEmptyString As String = "a"
27+
Private emptyCharArray As Char() = New Char(){}
28+
Private nullCharArray As Char() = Nothing
29+
30+
<Fact> 'https://github.com/icsharpcode/CodeConverter/issues/105
31+
Public Sub VisualBasicEqualityOfEmptyStringAndNothingIsPreservedForNullObject()
32+
Dim record = ""
33+
If nullObject = nullObject Then record &= "1" Else record &= "0"
34+
If nullObject = nullString Then record &= "1" Else record &= "0"
35+
If nullObject = emptyStringObject Then record &= "1" Else record &= "0"
36+
If nullObject = emptyString Then record &= "1" Else record &= "0"
37+
If nullObject = nonEmptyString Then record &= "1" Else record &= "0"
38+
If nullObject = emptyCharArray Then record &= "1" Else record &= "0"
39+
If nullObject = nullCharArray Then record &= "1" Else record &= "0"
40+
Assert.Equal("1111011", record)
41+
End Sub
42+
43+
<Fact> 'https://github.com/icsharpcode/CodeConverter/issues/105
44+
Public Sub VisualBasicEqualityOfEmptyStringAndNothingIsPreservedForNullString()
45+
Dim record = ""
46+
If nullString = nullObject Then record &= "1" Else record &= "0"
47+
If nullString = nullString Then record &= "1" Else record &= "0"
48+
If nullString = emptyStringObject Then record &= "1" Else record &= "0"
49+
If nullString = emptyString Then record &= "1" Else record &= "0"
50+
If nullString = nonEmptyString Then record &= "1" Else record &= "0"
51+
If nullString = emptyCharArray Then record &= "1" Else record &= "0"
52+
If nullString = nullCharArray Then record &= "1" Else record &= "0"
53+
Assert.Equal("1111011", record)
54+
End Sub
55+
56+
<Fact> 'https://github.com/icsharpcode/CodeConverter/issues/105
57+
Public Sub VisualBasicEqualityOfEmptyStringAndNothingIsPreservedForEmptyStringObject()
58+
Dim record = ""
59+
If emptyStringObject = nullObject Then record &= "1" Else record &= "0"
60+
If emptyStringObject = nullString Then record &= "1" Else record &= "0"
61+
If emptyStringObject = emptyStringObject Then record &= "1" Else record &= "0"
62+
If emptyStringObject = emptyString Then record &= "1" Else record &= "0"
63+
If emptyStringObject = nonEmptyString Then record &= "1" Else record &= "0"
64+
If emptyStringObject = emptyCharArray Then record &= "1" Else record &= "0"
65+
If emptyStringObject = nullCharArray Then record &= "1" Else record &= "0"
66+
Assert.Equal("1111011", record)
67+
End Sub
68+
69+
<Fact> 'https://github.com/icsharpcode/CodeConverter/issues/105
70+
Public Sub VisualBasicEqualityOfEmptyStringAndNothingIsPreservedForEmptyString()
71+
Dim record = ""
72+
If emptyString = nullObject Then record &= "1" Else record &= "0"
73+
If emptyString = nullString Then record &= "1" Else record &= "0"
74+
If emptyString = emptyStringObject Then record &= "1" Else record &= "0"
75+
If emptyString = emptyString Then record &= "1" Else record &= "0"
76+
If emptyString = nonEmptyString Then record &= "1" Else record &= "0"
77+
If emptyString = emptyCharArray Then record &= "1" Else record &= "0"
78+
If emptyString = nullCharArray Then record &= "1" Else record &= "0"
79+
Assert.Equal("1111011", record)
80+
End Sub
81+
82+
<Fact> 'https://github.com/icsharpcode/CodeConverter/issues/105
83+
Public Sub VisualBasicEqualityOfEmptyStringAndNothingIsPreservedForNonEmptyString()
84+
Dim record = ""
85+
If nonEmptyString = nullObject Then record &= "1" Else record &= "0"
86+
If nonEmptyString = nullString Then record &= "1" Else record &= "0"
87+
If nonEmptyString = emptyStringObject Then record &= "1" Else record &= "0"
88+
If nonEmptyString = emptyString Then record &= "1" Else record &= "0"
89+
If nonEmptyString = nonEmptyString Then record &= "1" Else record &= "0"
90+
If nonEmptyString = emptyCharArray Then record &= "1" Else record &= "0"
91+
If nonEmptyString = nullCharArray Then record &= "1" Else record &= "0"
92+
Assert.Equal("0000100", record)
93+
End Sub
94+
95+
<Fact> 'https://github.com/icsharpcode/CodeConverter/issues/105
96+
Public Sub VisualBasicEqualityOfEmptyStringAndNothingIsPreservedForEmptyCharArray()
97+
Dim record = ""
98+
If emptyCharArray = nullObject Then record &= "1" Else record &= "0"
99+
If emptyCharArray = nullString Then record &= "1" Else record &= "0"
100+
If emptyCharArray = emptyStringObject Then record &= "1" Else record &= "0"
101+
If emptyCharArray = emptyString Then record &= "1" Else record &= "0"
102+
If emptyCharArray = nonEmptyString Then record &= "1" Else record &= "0"
103+
If emptyCharArray = emptyCharArray Then record &= "1" Else record &= "0"
104+
If emptyCharArray = nullCharArray Then record &= "1" Else record &= "0"
105+
Assert.Equal("1111011", record)
106+
End Sub
107+
108+
<Fact> 'https://github.com/icsharpcode/CodeConverter/issues/105
109+
Public Sub VisualBasicEqualityOfEmptyStringAndNothingIsPreservedForNullCharArray()
110+
Dim record = ""
111+
If nullCharArray = nullObject Then record &= "1" Else record &= "0"
112+
If nullCharArray = nullString Then record &= "1" Else record &= "0"
113+
If nullCharArray = emptyStringObject Then record &= "1" Else record &= "0"
114+
If nullCharArray = emptyString Then record &= "1" Else record &= "0"
115+
If nullCharArray = nonEmptyString Then record &= "1" Else record &= "0"
116+
If nullCharArray = emptyCharArray Then record &= "1" Else record &= "0"
117+
If nullCharArray = nullCharArray Then record &= "1" Else record &= "0"
118+
Assert.Equal("1111011", record)
119+
End Sub
120+
End Class

0 commit comments

Comments
 (0)