/** * @dataProvider getExecutionTests */ public function testExecuteCode($filename, $fileSource, array $variables, $expectedOutput, $expectedLanguageError) { $path = $this->testDir . '/' . $filename; file_put_contents($path, $fileSource); $context = new CodingContext($this->testDir); foreach ($variables as $name => $val) { $context->addVariable($name, $val); } $result = new CodingExecutionResult(array($filename => $fileSource)); $worker = new PhpWorker(); $worker->executeCode($this->testDir, $filename, $context, $result); $this->assertEquals($expectedOutput, $result->getOutput()); $this->assertEquals($expectedLanguageError, $result->getLanguageError()); }
public function setupContext(CodingContext $context) { $context->addVariable('whatIWantForXmas', 'Puppy'); }