package\srequire\stcl::oo
\sforces\sthe\sinitialization\sthrough\snew\soo::_init\scommand\s(so\sone\scould\scircumvent\sthe\sdelayed\sinit\sissues\sfor\smockup,\sinjection\setc);\r\n\s\s*\s\supdate\sof\smocked-up\scommand\sby\sexecution\s(although\sit\swouldn't\s"fix"\severy\scase\ssane,\ssee\sbelow);\r\n\s\s*\s\scode\sreview,\sdedeplication,\setc.\r\n\r\nAs\sfor\smz\sprevious\smocked-up\sexample,\sit'd\swork\snow,\sand\swould\snot\senter\sendless\sloop\sanymore,\sbut\sthe\smock-up\sbecomes\soutdated\s(replaced\sby\smentioned\supdate\safter\slazy\sload),\ssee\sthe\snew\sdiff\s(red\sis\slazy\sbranch):\r\n\r\n\s\s%\srename\s::oo::class\s::oo::_mocked_class;\r\n\s\s%\sproc\s::oo::class\sargs\s{\sputs\s"mockup\s$args";\stailcall\s::oo::_mocked_class\s{*}$args\s}\r\n\s\s%\s::oo::class\screate\sA\r\n\s\smockup\screate\sA\r\n\s\s::A\r\n\s\s%\s::oo::class\screate\sB\r\n-\smockup\screate\sB\r\n\s\s::B\r\n
\r\n\r\nSo\sas\sone\scan\ssee,\sthe\smock-up\sis\squasi\sremoved\shere.\r\nAnd\sthe\sonly\ssolution\swould\sbe\sto\suse\spackage\srequire\stcl::oo
\sbefore\smocking-up\sor\sinjection\sto\sforce\sthe\sinitialization.\r\n\r\nAlternative\swould\sto\screate\sall\sthis\scommand\sproperly\s(to\spoint\sto\scorrect\shandler).