aggregate_binary_goals($completions,$required); // assert if the test is succesful $this->assertEquals(completion::label($outcome),completion::label($result)); } private function junctionaggregation_test($configstr, $outcome, $completions){ $ag = new bistate_aggregator($configstr); // test aggregation with the minimum required data $result = $ag->aggregate_junction($completions); // assert if the test is succesful $this->assertEquals(completion::label($outcome),completion::label($result)); } public function test_goalaggregation_0() { $this->goalaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::INCOMPLETE, [ ], [], ); } public function test_goalaggregation_1() { $this->goalaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::FAILED, [ // completions completion::FAILED, completion::FAILED, completion::FAILED, completion::FAILED, completion::FAILED, ], [] // required ); } public function test_goalaggregation_2() { $this->goalaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::EXCELLENT, [ completion::COMPLETED, completion::COMPLETED, completion::COMPLETED, completion::COMPLETED, completion::COMPLETED, ], [], ); } public function test_goalaggregation_3() { $this->goalaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::INCOMPLETE, [ completion::INCOMPLETE, completion::INCOMPLETE, completion::INCOMPLETE, completion::INCOMPLETE, completion::INCOMPLETE, ], [], ); } public function test_goalaggregation_4() { $this->goalaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::PROGRESS, [ completion::COMPLETED, completion::COMPLETED, completion::COMPLETED, completion::PROGRESS, completion::PROGRESS, ], [], ); } public function test_goalaggregation_5() { $this->goalaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::COMPLETED, [ completion::COMPLETED, completion::COMPLETED, completion::COMPLETED, completion::COMPLETED, completion::PROGRESS, ], [], ); } public function test_goalaggregation_6() { $this->goalaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::PROGRESS, [ completion::PROGRESS, completion::PROGRESS, completion::PROGRESS, completion::PROGRESS, completion::INCOMPLETE, completion::INCOMPLETE, ], [], ); } public function test_junctionaggregation_0() { $this->junctionaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::FAILED, [ completion::FAILED, completion::FAILED, completion::FAILED, completion::FAILED, ], ); } public function test_junctionaggregation_1() { $this->junctionaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::INCOMPLETE, [ completion::INCOMPLETE, completion::INCOMPLETE, completion::INCOMPLETE, completion::INCOMPLETE, ], ); } public function test_junctionaggregation_2() { $this->junctionaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::FAILED, [ completion::FAILED, completion::INCOMPLETE, completion::INCOMPLETE, completion::INCOMPLETE, ], ); } public function test_junctionaggregation_3() { $this->junctionaggregation_test( '{"thresh_excellent":100,"thresh_good":85,"thresh_completed":66,"thresh_progress":25,"use_failed":true,"accept_pending_as_submitted":true}', completion::PROGRESS, [ completion::PROGRESS, completion::INCOMPLETE, completion::INCOMPLETE, completion::INCOMPLETE, ], ); } }