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 testGivenAllValidParametersThenTheBuilderWillGenerateAMatchingArgumentsWrapper()
 {
     $argumentsWrapper = $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, $argumentsWrapper->getPharFilePath());
     $this->assertEquals(self::VALID_COMMAND, $argumentsWrapper->getCommand());
     $this->assertEquals(self::VALID_CONFIGURATION_FILE, $argumentsWrapper->getConfigurationFile());
     $this->assertEquals(self::VALID_DOCKERFILE_PATH, $argumentsWrapper->getDockerFilePath());
 }