| <?php |
| |
| require "tests.php"; |
| |
| // Check functions. |
| check::functions(array('do_op','do_op_td','areapt','perimeterpt','perimeterpt_td','call1')); |
| |
| // Check classes. |
| check::classes(array('member_pointer_const','Circle','Funktions','Shape','Square')); |
| |
| // Check global variables. |
| check::globals(array('areavar','perimetervar','perimetervar_td')); |
| |
| # Get the pointers |
| |
| $area_pt = member_pointer_const::areapt(); |
| $perim_pt = member_pointer_const::perimeterpt(); |
| |
| # Create some objects |
| |
| $s = new Square(10); |
| |
| # Do some calculations |
| |
| check::equal(100.0, member_pointer_const::do_op($s, $area_pt), "Square area"); |
| check::equal(40.0, member_pointer_const::do_op($s, $perim_pt), "Square perim"); |
| |
| |
| $memberPtr = member_pointer_const::areavar_get(); |
| $memberPtr = member_pointer_const::perimetervar_get(); |
| |
| # Try the variables |
| check::equal(100.0, member_pointer_const::do_op($s, member_pointer_const::areavar_get()), "Square area"); |
| check::equal(40.0, member_pointer_const::do_op($s, member_pointer_const::perimetervar_get()), "Square perim"); |
| |
| # Modify one of the variables |
| member_pointer_const::areavar_set($perim_pt); |
| |
| check::equal(40.0, member_pointer_const::do_op($s, member_pointer_const::areavar_get()), "Square perimeter"); |
| |
| # Try the constants |
| |
| /* |
| $memberPtr = member_pointer_const::AREAPT; |
| $memberPtr = member_pointer_const::PERIMPT; |
| $memberPtr = member_pointer_const::NULLPT; |
| |
| check::equal(100.0, member_pointer_const::do_op($s, member_pointer_const::AREAPT), "Square area"); |
| check::equal(40.0, member_pointer_const::do_op($s, member_pointer_const::PERIMPT), "Square perim"); |
| */ |
| |
| # Typedefs |
| check::equal(40.0, member_pointer_const::do_op_td($s, $perim_pt), "Square perim"); |
| |
| /* |
| check::equal(3, member_pointer_const::call1(member_pointer_const::ADD_BY_VALUE, 1, 2), "Add by value"); |
| check::equal(7, member_pointer_const::call2(member_pointer_const::ADD_BY_VALUE, 3, 4), "Add by pointer"); |
| check::equal(11, member_pointer_const::call3(member_pointer_const::ADD_BY_VALUE, 5, 6), "Add by reference"); |
| */ |