@@ -0,0 +1,3847 @@
+/*%0A * Copyright 2016 Palantir Technologies, Inc. All rights reserved.%0A *%0A * THIS SOFTWARE CONTAINS PROPRIETARY AND CONFIDENTIAL INFORMATION OWNED BY PALANTIR TECHNOLOGIES INC.%0A * UNAUTHORIZED DISCLOSURE TO ANY THIRD PARTY IS STRICTLY PROHIBITED%0A *%0A * For good and valuable consideration, the receipt and adequacy of which is acknowledged by Palantir and recipient%0A * of this file (%22Recipient%22), the parties agree as follows:%0A *%0A * This file is being provided subject to the non-disclosure terms by and between Palantir and the Recipient.%0A *%0A * Palantir solely shall own and hereby retains all rights, title and interest in and to this software (including,%0A * without limitation, all patent, copyright, trademark, trade secret and other intellectual property rights) and%0A * all copies, modifications and derivative works thereof.  Recipient shall and hereby does irrevocably transfer and%0A * assign to Palantir all right, title and interest it may have in the foregoing to Palantir and Palantir hereby%0A * accepts such transfer. In using this software, Recipient acknowledges that no ownership rights are being conveyed%0A * to Recipient.  This software shall only be used in conjunction with properly licensed Palantir products or%0A * services.%0A *%0A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS %22AS IS%22 AND ANY EXPRESS OR IMPLIED%0A * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR%0A * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,%0A * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF%0A * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY%0A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING%0A * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0A */%0Apackage com.palantir.docker.compose.configuration;%0A%0Aimport org.junit.Rule;%0Aimport org.junit.Test;%0Aimport org.junit.rules.ExpectedException;%0Aimport org.junit.rules.TemporaryFolder;%0A%0Aimport java.io.File;%0A%0Aimport static org.hamcrest.Matchers.is;%0Aimport static org.junit.Assert.assertThat;%0A%0Apublic class DockerComposeFilesTest %7B%0A%0A    @Rule%0A    public final TemporaryFolder tempFolder = new TemporaryFolder();%0A%0A    @Rule%0A    public final ExpectedException exception = ExpectedException.none();%0A%0A    @Test%0A    public void missingDockerComposeFileThrowsAnException() throws Exception %7B%0A        exception.expect(IllegalStateException.class);%0A        exception.expectMessage(%22The following docker-compose files:%22);%0A        exception.expectMessage(%22bla%22);%0A        exception.expectMessage(%22do not exist.%22);%0A        DockerComposeFiles.from(%22bla%22);%0A    %7D%0A%0A    @Test%0A    public void dockerComposeFileCommandGetsGeneratedCorrectly_singleComposeFile() throws Exception %7B%0A        File composeFile = tempFolder.newFile(%22docker-compose.yaml%22);%0A        DockerComposeFiles dockerComposeFiles = DockerComposeFiles.from(composeFile.getAbsolutePath());%0A        assertThat(dockerComposeFiles.constructComposeFileCommand(), is(%22-f %22 + composeFile.getAbsolutePath()));%0A    %7D%0A%0A    @Test%0A    public void dockerComposeFileCommandGetsGeneratedCorrectly_multipleComposeFile() throws Exception %7B%0A        File composeFile1 = tempFolder.newFile(%22docker-compose1.yaml%22);%0A        File composeFile2 = tempFolder.newFile(%22docker-compose2.yaml%22);%0A        DockerComposeFiles dockerComposeFiles = DockerComposeFiles.from(composeFile1.getAbsolutePath(), composeFile2.getAbsolutePath());%0A        assertThat(dockerComposeFiles.constructComposeFileCommand(),%0A                is(%22-f %22 + composeFile1.getAbsolutePath() + %22 -f %22 + composeFile2.getAbsolutePath()));%0A    %7D%0A%0A%7D

Add tests post refactor.