'alveolata', 'sections' => [ [ 'name' => 'math', 'sections' => [ [ 'name' => 'mod', 'cases' => array_map( function (array $case) : array { return [ 'name' => $case['name'], 'procedure' => function ($assert) use ($case) { $result_actual = \alveolata\math\mod( $case['input']['divident'], $case['input']['divisor'] ); $result_expected = $case['output']; $assert->equal($result_actual, $result_expected); }, ]; }, $data['mod']['cases'] ), ], [ 'name' => 'modpow', 'cases' => array_map( function (array $case) : array { return [ 'name' => $case['name'], 'procedure' => function ($assert) use ($case) { $result_actual = \alveolata\math\modpow( $case['input']['base'], $case['input']['exponent'], $case['input']['modulus'] ); $result_expected = $case['output']; $assert->equal($result_actual, $result_expected); }, ]; }, $data['modpow']['cases'] ), ], [ 'name' => 'set_union', 'cases' => array_map( function (array $case) : array { return [ 'name' => $case['name'], 'procedure' => function ($assert) use ($case) { $result_actual = \alveolata\math\set_union( function ($x, $y) {return ($x === $y);}, $case['input']['set1'], $case['input']['set2'] ); $result_expected = $case['output']; $assert->equal($result_actual, $result_expected); }, ]; }, $data['set_union']['cases'] ) ], [ 'name' => 'set_intersection', 'cases' => array_map( function (array $case) : array { return [ 'name' => $case['name'], 'procedure' => function ($assert) use ($case) { $result_actual = \alveolata\math\set_intersection( function ($x, $y) {return ($x === $y);}, $case['input']['set1'], $case['input']['set2'] ); $result_expected = $case['output']; $assert->equal($result_actual, $result_expected); }, ]; }, $data['set_intersection']['cases'] ) ], [ 'name' => 'set_difference', 'cases' => array_map( function (array $case) : array { return [ 'name' => $case['name'], 'procedure' => function ($assert) use ($case) { $result_actual = \alveolata\math\set_difference( function ($x, $y) {return ($x === $y);}, $case['input']['set1'], $case['input']['set2'] ); $result_expected = $case['output']; $assert->equal($result_actual, $result_expected); }, ]; }, $data['set_difference']['cases'] ) ], [ 'name' => 'order_lexicographic', 'cases' => array_map( function (array $case) : array { return [ 'name' => $case['name'], 'procedure' => function ($assert) use ($case) { $result_actual = \alveolata\math\order_lexicographic( (function ($x, $y) {return ($x <= $y);}), $case['input']['list1'], $case['input']['list2'] ); $result_expected = $case['output']; $assert->equal($result_actual, $result_expected); }, ]; }, $data['order_lexicographic']['cases'] ) ], ], ] ] ] ); ?>