19declare(strict_types=1);
23use Pimple\Container as PimpleContainer;
37 public function get(
string $gui_name,
\ilObjTest $test_obj)
39 if (! array_key_exists($gui_name, $this->definitions)) {
40 throw new \InvalidArgumentException(
'No such GUI: ' . $gui_name);
42 return $this->definitions[$gui_name]($test_obj);
46 private PimpleContainer $global_dic,
51 $this->global_dic[
'ilCtrl'],
52 $this->global_dic[
'tpl'],
53 $this->global_dic[
'ilTabs'],
54 $this->global_dic[
'lng'],
56 $this->
internal[
'test.access']($test_obj),
57 $this->global_dic[
'ui.factory'],
58 $this->global_dic[
'ui.renderer'],
59 $this->global_dic[
'refinery'],
60 $this->global_dic->http()->request(),
61 $this->test_dic[
'response_handler'],
62 $this->internal[
'manscoring.consecutive']($test_obj),
63 $this->internal[
'urlbuilder.manscoring']($test_obj),
64 $this->global_dic->uiService()->filter(),
68 new \ilTestAccess($test_obj->
getRefId());
72 $this->
internal[
'manscoring.positionsfactory']($test_obj)->
get(),
74 $this->test_dic[
'shuffler'],
75 $this->test_dic[
'logging.logger'],
76 $this->
internal[
'manscoring.testscoring']($test_obj),
77 $this->test_dic[
'scoring.manual.done_helper'],
78 $this->global_dic[
'ilUser'],
79 $this->
internal[
'test.access']($test_obj),
85 $this->test_dic[
'question.general_properties.repository']
91 $this->global_dic[
'ilUser'],
92 $this->global_dic[
'ilDB'],
93 $this->test_dic[
'results.data.repository']
96 $this->
internal[
'urlbuilder.current'] = fn():
URLBuilder =>
98 (
new DataFactory())->uri($this->global_dic->http()->request()->getUri()->__toString())
103 $this->
internal[
'urlbuilder.current'](),
105 $this->global_dic[
'refinery'],
106 $this->global_dic[
'http']->wrapper()->query(),
107 $this->global_dic[
'ilCtrl'],
__construct(private PimpleContainer $global_dic, private TestDIC $test_dic)