Skip to content

Commit 536c1bd

Browse files
committed
Add forward operator tests (OpObj, int).
1 parent 659ad56 commit 536c1bd

File tree

1 file changed

+47
-3
lines changed

1 file changed

+47
-3
lines changed

src/embed_tests/TestOperator.cs

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,31 +50,58 @@ public OperableObject(int num)
5050
{
5151
return new OperableObject(a.Num - b.Num);
5252
}
53+
public static OperableObject operator -(OperableObject a, int b)
54+
{
55+
return new OperableObject(a.Num - b);
56+
}
5357

5458
public static OperableObject operator *(OperableObject a, OperableObject b)
5559
{
5660
return new OperableObject(a.Num * b.Num);
5761
}
62+
public static OperableObject operator *(OperableObject a, int b)
63+
{
64+
return new OperableObject(a.Num * b);
65+
}
5866

5967
public static OperableObject operator /(OperableObject a, OperableObject b)
6068
{
6169
return new OperableObject(a.Num / b.Num);
6270
}
71+
public static OperableObject operator /(OperableObject a, int b)
72+
{
73+
return new OperableObject(a.Num / b);
74+
}
75+
6376

6477
public static OperableObject operator &(OperableObject a, OperableObject b)
6578
{
6679
return new OperableObject(a.Num & b.Num);
6780
}
81+
public static OperableObject operator &(OperableObject a, int b)
82+
{
83+
return new OperableObject(a.Num & b);
84+
}
85+
6886

6987
public static OperableObject operator |(OperableObject a, OperableObject b)
7088
{
7189
return new OperableObject(a.Num | b.Num);
7290
}
91+
public static OperableObject operator |(OperableObject a, int b)
92+
{
93+
return new OperableObject(a.Num | b);
94+
}
95+
7396

7497
public static OperableObject operator ^(OperableObject a, OperableObject b)
7598
{
7699
return new OperableObject(a.Num ^ b.Num);
77100
}
101+
public static OperableObject operator ^(OperableObject a, int b)
102+
{
103+
return new OperableObject(a.Num ^ b);
104+
}
78105

79106
public static OperableObject operator <<(OperableObject a, int offset)
80107
{
@@ -134,10 +161,27 @@ public void ForwardOperatorOverloads()
134161
from {module} import *
135162
cls = {name}
136163
a = cls(2)
137-
b = cls(10)
164+
b = 10
165+
c = a + b
166+
assert c.Num == a.Num + b
138167
139-
c = a + b.Num
140-
assert c.Num == a.Num + b.Num
168+
c = a - b
169+
assert c.Num == a.Num - b
170+
171+
c = a * b
172+
assert c.Num == a.Num * b
173+
174+
c = a / b
175+
assert c.Num == a.Num // b
176+
177+
c = a & b
178+
assert c.Num == a.Num & b
179+
180+
c = a | b
181+
assert c.Num == a.Num | b
182+
183+
c = a ^ b
184+
assert c.Num == a.Num ^ b
141185
");
142186
}
143187
[Test]

0 commit comments

Comments
 (0)