| <?php | |
| require "tests.php"; | |
| check::functions(array('globalscope','mix','get_val2','get_val3','bas','baz','get_val1','set','chum_blah','mate_blah','friend_definition','friend_declaration','friend_args_definition','friend_args_declaration','friend_definition_compiler','friend_declaration_compiler','friend_args_definition_compiler','friend_args_declaration_compiler')); | |
| check::classes(array('friends','Foe','A','B','D_i','D_d','CModelParameterCompartment','CModelParameterSpecies','Chum','Mate')); | |
| // No new vars | |
| check::globals(array()); | |
| $a = new A(2); | |
| check::equal(get_val1($a), 2); | |
| check::equal(get_val2($a), 4); | |
| check::equal(get_val3($a), 6); | |
| # nice overload working fine | |
| check::equal(get_val1(1, 2, 3), 1); | |
| $b = new B(3); | |
| # David's case | |
| check::equal(mix($a, $b), 5); | |
| $di = new D_i(2); | |
| $dd = new D_d(3.3); | |
| # incredible template overloading working just fine | |
| check::equal(get_val1($di), 2); | |
| check::equal(get_val1($dd), 3.3); | |
| set($di, 4); | |
| set($dd, 1.3); | |
| check::equal(get_val1($di), 4); | |
| check::equal(get_val1($dd), 1.3); | |
| check::equal(chum_blah(), 1234); | |
| check::equal(mate_blah(), 4321); | |
| $foe = new Foe(111); | |
| check::equal(friend_definition(), 10); | |
| check::equal(friend_declaration(), 11); | |
| check::equal(friend_args_definition($foe), 111); | |
| check::equal(friend_args_declaration($foe), 111); | |
| check::equal(friend_definition_compiler(), 20); | |
| check::equal(friend_declaration_compiler(), 21); | |
| check::equal(friend_args_definition_compiler($foe), 111); | |
| check::equal(friend_args_declaration_compiler($foe), 111); | |
| check::done(); |