mirror of https://github.com/swig/swig
75 lines
2.2 KiB
C#
75 lines
2.2 KiB
C#
using System;
|
|
using System.Threading;
|
|
using operator_overloadNamespace;
|
|
|
|
public class runme
|
|
{
|
|
static void Main()
|
|
{
|
|
Op.sanity_check();
|
|
{
|
|
Op op = new Op(100);
|
|
Op opNew = op++;
|
|
if (op.i != 101) throw new Exception("operator++ postfix failed (op)");
|
|
if (opNew.i != 100) throw new Exception("operator++ postfix failed (opNew)");
|
|
}
|
|
{
|
|
Op op = new Op(100);
|
|
Op opNew = op--;
|
|
if (op.i != 99) throw new Exception("operator-- postfix failed (op)");
|
|
if (opNew.i != 100) throw new Exception("operator-- postfix failed (opNew)");
|
|
}
|
|
{
|
|
Op op = new Op(100);
|
|
Op opNew = ++op;
|
|
if (op.i != 101) throw new Exception("operator++ prefix failed (op)");
|
|
if (opNew.i != 101) throw new Exception("operator++ prefix failed (opNew)");
|
|
}
|
|
{
|
|
Op op = new Op(100);
|
|
Op opNew = --op;
|
|
if (op.i != 99) throw new Exception("operator-- prefix failed (op)");
|
|
if (opNew.i != 99) throw new Exception("operator-- prefix failed (opNew)");
|
|
}
|
|
|
|
// overloaded operator class
|
|
Op k = new OpDerived(3);
|
|
int check_k = k.IntCast();
|
|
Assert(check_k == 6);
|
|
|
|
// operator== handling
|
|
{
|
|
Op op = new Op(100);
|
|
Op op100 = new Op(100);
|
|
Op op101 = new Op(101);
|
|
bool isEqual = op == op100;
|
|
if (!isEqual) throw new Exception("operator== failed (op == op100)");
|
|
isEqual = op100 == op;
|
|
if (!isEqual) throw new Exception("operator== failed (op100 == op)");
|
|
|
|
isEqual = op == op101;
|
|
if (isEqual) throw new Exception("operator== failed (op == op101)");
|
|
isEqual = op101 == op;
|
|
if (isEqual) throw new Exception("operator== failed (op101 == op)");
|
|
|
|
Op opRef = op;
|
|
isEqual = op == opRef;
|
|
if (!isEqual) throw new Exception("operator== failed (op == opRef)");
|
|
isEqual = opRef == op;
|
|
if (!isEqual) throw new Exception("operator== failed (opRef == op)");
|
|
|
|
isEqual = op == null;
|
|
if (isEqual) throw new Exception("operator== failed (op == null)");
|
|
|
|
isEqual = null == op;
|
|
if (isEqual) throw new Exception("operator== failed (null == op)");
|
|
}
|
|
}
|
|
|
|
public static void Assert(bool b) {
|
|
if (!b)
|
|
throw new Exception("Assertion failed");
|
|
}
|
|
}
|
|
|