public function testGivenThatTheBuilderIsUsedToConstructMultipleObjectsThenTheDataWillBeResetBetweenSubsequentCalls() { $firstCliArguments = $this->builder->withPharFile(self::VALID_PHAR_FILE)->withCommand(self::VALID_COMMAND)->withConfigurationFile(self::VALID_CONFIGURATION_FILE)->withDockerfile(self::VALID_DOCKERFILE_PATH)->build(); $this->assertEquals(self::VALID_PHAR_FILE, $firstCliArguments->getPharFilePath()); $this->assertEquals(self::VALID_COMMAND, $firstCliArguments->getCommand()); $this->assertEquals(self::VALID_CONFIGURATION_FILE, $firstCliArguments->getConfigurationFile()); $this->assertEquals(self::VALID_DOCKERFILE_PATH, $firstCliArguments->getDockerFilePath()); $secondCliArguments = $this->builder->build(); $this->assertNotEquals($firstCliArguments, $secondCliArguments, 'The cleanup of provisioning data inside the builder was not correct.'); }
public function testGivenNoSpecificOptionsThenTheBuilderWillGenerateCliArgumentsWithDefaultValues() { $argumentWrapper = $this->builder->build(); $this->assertNotNull($argumentWrapper, 'The build method did not return anything'); $this->assertTrue($argumentWrapper instanceof CliArguments, 'The build method should have returned a new instance of CLI arguments'); $this->assertEquals(CliArgumentsBuilder::DEFAULT_PHAR_FILE, $argumentWrapper->getPharFilePath()); $this->assertEquals(CliArgumentsBuilder::DEFAULT_COMMAND, $argumentWrapper->getCommand()); $this->assertEquals(CliArgumentsBuilder::DEFAULT_CONFIGURATION_FILE, $argumentWrapper->getConfigurationFile()); $this->assertEquals(CliArgumentsBuilder::DEFAULT_DOCKERFILE_PATH, $argumentWrapper->getDockerFilePath()); }