swig/Examples/test-suite/csharp/friends_runme.cs
Olly Betts 0e0f283e48 Fix friends_runme.*
Most of these test D_d twice when they really should be testing
D_d once and D_i once (the variable name is `di` and the values
assigned are integers).

This was wrong in the initial version for Python in
708021a809 and it looks like subsequent
additions for other languages have just copied that mistake.
2022-07-22 17:50:47 +12:00

43 lines
1,014 B
C#

using System;
using friendsNamespace;
public class friends_runme {
public static void Main() {
A a = new A(2);
if (friends.get_val1(a) != 2)
throw new Exception("failed");
if (friends.get_val2(a) != 4)
throw new Exception("failed");
if (friends.get_val3(a) != 6)
throw new Exception("failed");
// nice overload working fine
if (friends.get_val1(1,2,3) != 1)
throw new Exception("failed");
B b = new B(3);
// David's case
if (friends.mix(a,b) != 5)
throw new Exception("failed");
D_i di = new D_i(2);
D_d dd = new D_d(3.3);
// incredible template overloading working just fine
if (friends.get_val1(di) != 2)
throw new Exception("failed");
if (friends.get_val1(dd) != 3.3)
throw new Exception("failed");
friends.set(di, 4);
friends.set(dd, 1.3);
if (friends.get_val1(di) != 4)
throw new Exception("failed");
if (friends.get_val1(dd) != 1.3)
throw new Exception("failed");
}
}