/trunk/Examples/test-suite/d/member_pointer_runme.1.d
D | 43 lines | 30 code | 9 blank | 4 comment | 2 complexity | b36816cd16b868da7bc4f49fe1897c13 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- module member_pointer_runme;
- import Float = tango.text.convert.Float;
- import member_pointer.member_pointer;
- import member_pointer.Square;
- import member_pointer.SWIGTYPE_m_Shape__f_void__double;
- void main() {
- auto s = new Square(10);
- // Do some calculations
- auto area_pt = areapt();
- auto perim_pt = perimeterpt();
- check("Square area ", 100.0, do_op(s, area_pt));
- check("Square perim", 40.0, do_op(s, perim_pt));
- SWIGTYPE_m_Shape__f_void__double memberPtr = null;
- memberPtr = areavar;
- memberPtr = perimetervar;
- // Try the variables
- check("Square area ", 100.0, do_op(s, areavar));
- check("Square perim", 40.0, do_op(s, perimetervar));
- // Modify one of the variables
- areavar = perim_pt;
- check("Square perimeter", 40.0, do_op(s,areavar));
- // Try the constants
- memberPtr = AREAPT;
- memberPtr = PERIMPT;
- memberPtr = NULLPT;
- check("Square area", 100.0, do_op(s, AREAPT));
- check("Square perim", 40.0, do_op(s, PERIMPT));
- }
- void check(char[] what, double expected, double actual) {
- if (expected != actual) {
- throw new Exception("Failed: " ~ what ~ ": expected "
- ~ Float.toString(expected) ~ ", but got " ~ Float.toString(actual));
- }
- }