// Path: src/test/java/de/idrinth/stellaris/modtools/abstract_cases/FileBased.java
// abstract public class FileBased {
//     private static final String FILE_BASE = System.getProperty("java.io.tmpdir")+"/tests/";
//     private File dir;
//     protected File getAllowedFolder() {
//         if(null == dir) {
//             dir = new File(FILE_BASE+this.getClass().getName().replace("\\.", "-"));
//             dir.mkdirs();
//             dir.deleteOnExit();
//         }
//         return dir;
//     }
// }
// 
// Path: src/main/java/de/idrinth/stellaris/modtools/filesystem/FileSystemLocation.java
// public interface FileSystemLocation {
//     public File get();
// }


import de.idrinth.stellaris.modtools.abstract_cases.FileBased;
import de.idrinth.stellaris.modtools.filesystem.FileSystemLocation;
import java.io.File;
import java.io.IOException;
import org.junit.Test;
import org.junit.Assert;
                "tags = {\n" +
                "\t\"Merge\"\n" +
                "}\n",
            instance.toString()
        );
    }

    /**
     * Test of addTagValue method, of class Mod.
     * @throws java.io.IOException
     */
    @Test
    public void testAddTagValue() throws IOException {
        System.out.println("addTagValue");
        Mod instance = new Mod("file", "Mod", new ModDirFake(getAllowedFolder()));
        instance.addTagValue("MyOtherMod");
        Assert.assertEquals(
            "Mod differs from expected content",
            "name = \"Mod\"\n" +
                "path = \""+ getAllowedFolder() + "/file.zip\"\n" +
                "dependencies = {\n" +
                "}\n" +
                "supported_version = \"1.0.*\"\n" +
                "tags = {\n" +
                "\t\"Merge\"\n" +
                "\t\"MyOtherMod\"\n" +
                "}\n",
            instance.toString()
        );
    }
// Path: src/test/java/de/idrinth/stellaris/modtools/abstract_cases/FileBased.java
// abstract public class FileBased {
//     private static final String FILE_BASE = System.getProperty("java.io.tmpdir")+"/tests/";
//     private File dir;
//     protected File getAllowedFolder() {
//         if(null == dir) {
//             dir = new File(FILE_BASE+this.getClass().getName().replace("\\.", "-"));
//             dir.mkdirs();
//             dir.deleteOnExit();
//         }
//         return dir;
//     }
// }
// 
// Path: src/main/java/de/idrinth/stellaris/modtools/filesystem/FileSystemLocation.java
// public interface FileSystemLocation {
//     public File get();
// }


// Path: src/test/java/de/idrinth/stellaris/modtools/process5modcreation/ModTest.java
import de.idrinth.stellaris.modtools.abstract_cases.FileBased;
import de.idrinth.stellaris.modtools.filesystem.FileSystemLocation;
import java.io.File;
import java.io.IOException;
import org.junit.Test;
import org.junit.Assert;

                "tags = {\n" +
                "\t\"Merge\"\n" +
                "}\n",
            instance.toString()
        );
    }

    /**
     * Test of addTagValue method, of class Mod.
     * @throws java.io.IOException
     */
    @Test
    public void testAddTagValue() throws IOException {
        System.out.println("addTagValue");
        Mod instance = new Mod("file", "Mod", new ModDirFake(getAllowedFolder()));
        instance.addTagValue("MyOtherMod");
        Assert.assertEquals(
            "Mod differs from expected content",
            "name = \"Mod\"\n" +
                "path = \""+ getAllowedFolder() + "/file.zip\"\n" +
                "dependencies = {\n" +
                "}\n" +
                "supported_version = \"1.0.*\"\n" +
                "tags = {\n" +
                "\t\"Merge\"\n" +
                "\t\"MyOtherMod\"\n" +
                "}\n",
            instance.toString()
        );
    }
    private class ModDirFake implements FileSystemLocation {