Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2fe1de7

Browse files
committed
Add tests for logical (bool) comparison operators
1 parent ad2b377 commit 2fe1de7

File tree

1 file changed

+89
-1
lines changed

1 file changed

+89
-1
lines changed

src/embed_tests/TestOperator.cs

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,58 @@ public OperableObject(int num)
121121
return new OperableObject(a.Num ^ b);
122122
}
123123

124+
public static bool operator <=(int a, OperableObject b)
125+
{
126+
return (a <= b.Num);
127+
}
128+
public static bool operator <=(OperableObject a, OperableObject b)
129+
{
130+
return (a.Num <= b.Num);
131+
}
132+
public static bool operator <=(OperableObject a, int b)
133+
{
134+
return (a.Num <= b);
135+
}
136+
137+
public static bool operator >=(int a, OperableObject b)
138+
{
139+
return (a >= b.Num);
140+
}
141+
public static bool operator >=(OperableObject a, OperableObject b)
142+
{
143+
return (a.Num >= b.Num);
144+
}
145+
public static bool operator >=(OperableObject a, int b)
146+
{
147+
return (a.Num >= b);
148+
}
149+
150+
public static bool operator<(int a, OperableObject b)
151+
{
152+
return (a < b.Num);
153+
}
154+
public static bool operator<(OperableObject a, OperableObject b)
155+
{
156+
return (a.Num < b.Num);
157+
}
158+
public static bool operator<(OperableObject a, int b)
159+
{
160+
return (a.Num < b);
161+
}
162+
163+
public static bool operator>(int a, OperableObject b)
164+
{
165+
return (a > b.Num);
166+
}
167+
public static bool operator>(OperableObject a, OperableObject b)
168+
{
169+
return (a.Num > b.Num);
170+
}
171+
public static bool operator >(OperableObject a, int b)
172+
{
173+
return (a.Num > b);
174+
}
175+
124176
public static OperableObject operator <<(OperableObject a, int offset)
125177
{
126178
return new OperableObject(a.Num << offset);
@@ -133,7 +185,7 @@ public OperableObject(int num)
133185
}
134186

135187
[Test]
136-
public void OperatorOverloads()
188+
public void SymmetricalOperatorOverloads()
137189
{
138190
string name = string.Format("{0}.{1}",
139191
typeof(OperableObject).DeclaringType.Name,
@@ -165,6 +217,18 @@ public void OperatorOverloads()
165217
166218
c = a ^ b
167219
assert c.Num == a.Num ^ b.Num
220+
221+
c = a <= b
222+
assert c == (a.Num <= b.Num)
223+
224+
c = a >= b
225+
assert c == (a.Num >= b.Num)
226+
227+
c = a < b
228+
assert c == (a.Num < b.Num)
229+
230+
c = a > b
231+
assert c == (a.Num > b.Num)
168232
");
169233
}
170234
[Test]
@@ -200,6 +264,18 @@ public void ForwardOperatorOverloads()
200264
201265
c = a ^ b
202266
assert c.Num == a.Num ^ b
267+
268+
c = a <= b
269+
assert c == (a.Num <= b)
270+
271+
c = a >= b
272+
assert c == (a.Num >= b)
273+
274+
c = a < b
275+
assert c == (a.Num < b)
276+
277+
c = a > b
278+
assert c == (a.Num > b)
203279
");
204280
}
205281

@@ -235,6 +311,18 @@ public void ReverseOperatorOverloads()
235311
236312
c = a ^ b
237313
assert c.Num == a ^ b.Num
314+
315+
c = a <= b
316+
assert c == (a <= b.Num)
317+
318+
c = a >= b
319+
assert c == (a >= b.Num)
320+
321+
c = a < b
322+
assert c == (a < b.Num)
323+
324+
c = a > b
325+
assert c == (a > b.Num)
238326
");
239327

240328
}

0 commit comments

Comments
 (0)