More interface feature testing for return values

This commit is contained in:
William S Fulton 2016-02-06 20:10:09 +00:00
commit 5572b5f035
2 changed files with 32 additions and 0 deletions

View file

@ -130,5 +130,14 @@ public class multiple_inheritance_abstract_runme {
check(multiple_inheritance_abstract.InputPtrDerived1(d1)!=3+4, "InputPtrDerived1() failed");
check(multiple_inheritance_abstract.InputPtrDerived2(d2)!=6+5, "InputPtrDerived2() failed");
check(multiple_inheritance_abstract.InputPtrDerived3(d3)!=7+8+9, "InputPtrDerived3() failed");
// Factory functions
check(multiple_inheritance_abstract.MakeDerived1_CBase1().cbase1y()!=3, "MakeDerived1_CBase1 failed");
check(multiple_inheritance_abstract.MakeDerived1_CBase2().cbase2()!=4, "MakeDerived1_CBase2 failed");
check(multiple_inheritance_abstract.MakeDerived2_CBase1().cbase1y()!=6, "MakeDerived2_CBase1 failed");
check(multiple_inheritance_abstract.MakeDerived2_ABase1().abase1()!=5, "MakeDerived2_ABase1 failed");
check(multiple_inheritance_abstract.MakeDerived3_ABase1().abase1()!=9, "MakeDerived3_ABase1 failed");
check(multiple_inheritance_abstract.MakeDerived3_CBase1().cbase1y()!=7, "MakeDerived3_CBase1 failed");
check(multiple_inheritance_abstract.MakeDerived3_CBase2().cbase2()!=8, "MakeDerived3_CBase2 failed");
}
}

View file

@ -141,4 +141,27 @@ DECLARE_INTERFACE_RENAME(CBase2, CBase2, SWIGTYPE_CBase2)
int InputPtrDerived3(Derived3 *d) {
return d->cbase1y() + d->cbase2() + d->abase1();
}
// Factory functions for more return value testing
CBase1 *MakeDerived1_CBase1() {
return new Derived1();
}
CBase2 *MakeDerived1_CBase2() {
return new Derived1();
}
CBase1 *MakeDerived2_CBase1() {
return new Derived2();
}
ABase1 *MakeDerived2_ABase1() {
return new Derived2();
}
ABase1 *MakeDerived3_ABase1() {
return new Derived3();
}
CBase1 *MakeDerived3_CBase1() {
return new Derived3();
}
CBase2 *MakeDerived3_CBase2() {
return new Derived3();
}
%}