Skip to content

Commit

Permalink
moved current SVC mock implementation to test; removed pcp and rcp bi…
Browse files Browse the repository at this point in the history
…nary files (as specific to a particular Eurostag's version)
  • Loading branch information
Christian Biasuzzi committed Mar 28, 2017
1 parent 08d813b commit 03fd977
Show file tree
Hide file tree
Showing 11 changed files with 95 additions and 55 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
/**
* @author Christian Biasuzzi <christian.biasuzzi@techrain.it>
*/
class DynamicDatabaseMockUtils {
public class DynamicDatabaseMockUtils {

private static final List<String> REG_EXTENSIONS = Arrays.asList("fri", "frm", "par", "pcp", "rcp");
private static final List<String> REG_EXTENSIONS = Arrays.asList("fri", "frm", "par");

private static final Logger LOGGER = LoggerFactory.getLogger(DynamicDatabaseMockUtils.class);

Expand Down Expand Up @@ -65,7 +65,7 @@ public void copyDynamicDataFiles(String templateName, Path workingDir, String fi
}


String formatString8(String string) {
public String formatString8(String string) {
return Strings.padEnd((string.length() > 8) ? string.substring(0, 8) : string, 8, ' ');
}

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package eu.itesla_project.iidm.ddb.eurostag_imp_exp;

import com.google.common.collect.ImmutableMap;
import eu.itesla_project.iidm.ddb.eurostag_imp_exp.DynamicDatabaseClient;
import eu.itesla_project.iidm.ddb.eurostag_imp_exp.DynamicDatabaseMockUtils;
import eu.itesla_project.iidm.network.Bus;
import eu.itesla_project.iidm.network.Generator;
import eu.itesla_project.iidm.network.Network;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package eu.itesla_project.iidm.ddb.eurostag_imp_exp;

import eu.itesla_project.iidm.ddb.eurostag_imp_exp.DynamicDatabaseClient;
import eu.itesla_project.iidm.ddb.eurostag_imp_exp.DynamicDatabaseClientFactory;

/**
* @author Christian Biasuzzi <christian.biasuzzi@techrain.it>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@
import com.google.common.jimfs.Jimfs;
import eu.itesla_project.iidm.ddb.eurostag_imp_exp.DynamicDatabaseClient;
import eu.itesla_project.iidm.ddb.eurostag_imp_exp.IIDMDynamicDatabaseMockFactory;
import eu.itesla_project.iidm.ddb.eurostag_imp_exp.IIDMDynamicDatabaseSVCMockFactory;
import eu.itesla_project.iidm.network.Network;
import eu.itesla_project.iidm.network.test.EurostagTutorialExample1Factory;
import eu.itesla_project.iidm.network.test.SvcTestCaseFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
Expand Down Expand Up @@ -42,30 +40,9 @@ public class TestDynamicDatabaseMock {
private static final List<String> REGULATORS_FILENAMES = Arrays.asList("dummefd.fri",
"dummefd.frm",
"dummefd.par",
"dummefd.pcp",
"dummefd.rcp",
"dummycm.fri",
"dummycm.frm",
"dummycm.par",
"dummycm.pcp",
"dummycm.rcp");

private static final List<String> SVC_REGULATORS_FILENAMES = Arrays.asList("dummefd.fri",
"dummefd.frm",
"dummefd.par",
"dummefd.pcp",
"dummefd.rcp",
"dummycm.fri",
"dummycm.frm",
"dummycm.par",
"dummycm.pcp",
"dummycm.rcp",
"interdum.frm",
"interdum.par",
"interdum.pcp",
"interdum.rcp",
"interdum.fri");

"dummycm.par");

@Before
public void setUp() throws Exception {
Expand Down Expand Up @@ -100,30 +77,4 @@ public void test_TutorialExample1() throws Exception {
.forEach(filename -> assertTrue(Files.isRegularFile(workingDir.resolve(filename))));
}

@Test
public void test_SvcTestCase() throws Exception {
Network network = SvcTestCaseFactory.create();

Map<String, String> iidm2eurostag = new HashMap<>();
iidm2eurostag.put("G1", "G1");
iidm2eurostag.put("B1", "B1");
iidm2eurostag.put("SVC2", "SVC2");
iidm2eurostag.put("B2", "B2");

Path workingDir = Files.createDirectory(fileSystem.getPath("/workingdir"));

DynamicDatabaseClient ddbClient = new IIDMDynamicDatabaseSVCMockFactory().create(false);
ddbClient.dumpDtaFile(workingDir, DTA_FILENAME, network, new HashMap<String, Character>(), "mock", iidm2eurostag);

File expectedDtaFile = new File(getClass().getResource("/sim_test_svc.dta").toURI());
Path testFile = workingDir.resolve(DTA_FILENAME);
assertEquals(CharStreams.toString(new InputStreamReader(Files.newInputStream(expectedDtaFile.toPath()))),
CharStreams.toString(new InputStreamReader(Files.newInputStream(testFile))));

SVC_REGULATORS_FILENAMES.stream()
.forEach(filename -> assertTrue(Files.isRegularFile(workingDir.resolve(filename))));

}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
/**
* Copyright (c) 2017, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/

import com.google.common.io.CharStreams;
import com.google.common.jimfs.Configuration;
import com.google.common.jimfs.Jimfs;
import eu.itesla_project.iidm.ddb.eurostag_imp_exp.DynamicDatabaseClient;
import eu.itesla_project.iidm.network.Network;
import eu.itesla_project.iidm.network.test.SvcTestCaseFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.File;
import java.io.InputStreamReader;
import java.nio.file.FileSystem;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

/**
* @author Christian Biasuzzi <christian.biasuzzi@techrain.it>
*/
public class TestDynamicDatabaseSVCMock {

private FileSystem fileSystem;

private static final String DTA_FILENAME = "sim.dta";
private static final List<String> SVC_REGULATORS_FILENAMES = Arrays.asList("dummefd.fri",
"dummefd.frm",
"dummefd.par",
"dummycm.fri",
"dummycm.frm",
"dummycm.par",
"interdum.frm",
"interdum.par",
"interdum.fri");


@Before
public void setUp() throws Exception {
fileSystem = Jimfs.newFileSystem(Configuration.unix());
}

@After
public void tearDown() throws Exception {
fileSystem.close();
}

@Test
public void test_SvcTestCase() throws Exception {
Network network = SvcTestCaseFactory.create();

Map<String, String> iidm2eurostag = new HashMap<>();
iidm2eurostag.put("G1", "G1");
iidm2eurostag.put("B1", "B1");
iidm2eurostag.put("SVC2", "SVC2");
iidm2eurostag.put("B2", "B2");

Path workingDir = Files.createDirectory(fileSystem.getPath("/workingdir"));

DynamicDatabaseClient ddbClient = new IIDMDynamicDatabaseSVCMockFactory().create(false);
ddbClient.dumpDtaFile(workingDir, DTA_FILENAME, network, new HashMap<String, Character>(), "mock", iidm2eurostag);

File expectedDtaFile = new File(getClass().getResource("/sim_test_svc.dta").toURI());
Path testFile = workingDir.resolve(DTA_FILENAME);
assertEquals(CharStreams.toString(new InputStreamReader(Files.newInputStream(expectedDtaFile.toPath()))),
CharStreams.toString(new InputStreamReader(Files.newInputStream(testFile))));

SVC_REGULATORS_FILENAMES.stream()
.forEach(filename -> assertTrue(Files.isRegularFile(workingDir.resolve(filename))));

}


}

0 comments on commit 03fd977

Please sign in to comment.