'alveolata', 'sections' => [ [ 'name' => 'accesscontrol', 'sections' => [ [ 'name' => 'check', 'setup' => function (&$environment) use ($data) { $environment['subject'] = \alveolata\accesscontrol\make( [ 'password' => function ($parameters, $state) { return ($state['password'] === $parameters['value']); }, ], $data['check']['parameters']['acl'] ); }, 'cases' => array_map( function (array $case_raw) : array { return [ 'name' => $case_raw['name'], 'procedure' => function ($assert, &$environment) use ($case_raw) { // execution $resultActual = \alveolata\accesscontrol\check( $environment['subject'], $case_raw['input']['action'], $case_raw['input']['state'], ); // assertions $resultExpected = $case_raw['output']; $assert->equal($resultActual, $resultExpected); }, ]; }, $data['check']['cases'] ), ], ] ] ] ] ); ?>