Skip to content
Snippets Groups Projects
Commit 5750292e authored by René Schöne's avatar René Schöne
Browse files

Begin with query test (not working).

parent 21237272
No related branches found
No related tags found
No related merge requests found
......@@ -24,6 +24,9 @@ dependencies {
compile group: 'org.eclipse.emf', name: 'org.eclipse.emf.mwe.core', version: '1.3.13'
testCompile group: 'junit', name: 'junit', version: junitVersion
testCompile group: 'org.hamcrest', name: 'hamcrest-junit', version: '1.0.0.0'
testCompile 'com.opencsv:opencsv:3.8'
testCompile 'org.powermock:powermock-module-junit4:1.7.4'
testCompile group: 'org.powermock', name: 'powermock-api-mockito', version: '1.7.4'
}
run {
......
package de.tudresden.inf.st.ttc18live.test;
import com.opencsv.CSVReader;
import de.tudresden.inf.st.ttc18live.AbstractLiveContestDriver;
import de.tudresden.inf.st.ttc18live.LiveContestDriverXml;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.mockito.Mockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.modules.junit4.PowerMockRunnerDelegate;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.powermock.api.mockito.PowerMockito;
/**
* Test against given expected query results.
*
* @author rschoene - Initial contribution
*/
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(Parameterized.class)
@PrepareForTest({System.class})
@Ignore
public class AllXmlTest {
private final int query;
private final int size;
@Parameterized.Parameters
public static Collection<Object[]> data() {
// query, size
return Arrays.asList(new Object[][] {
{1,1}, {1,2}, {1,4}, {1,8},
{2,1}, {2,2}, {2,4}, {2,8},
});
}
// query -> size -> { iteration -> value }
private static Map<Integer, Map<Integer, Map<Integer, String>>> expected = new HashMap<>();
@BeforeClass
public static void readExpectedResults() {
InputStream inputStream = AllXmlTest.class.getResourceAsStream("/expected-results.csv");
try (InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
CSVReader reader = new CSVReader(inputStreamReader, ';', '"', 1)) {
reader.iterator().forEachRemaining( line -> {
String queryString = line[0];
String sizeString = line[1];
String iterationString = line[2];
// String phase = line[3];
String value = line[4];
Integer query = Integer.valueOf(queryString.substring(1));
Integer size = Integer.valueOf(sizeString);
Integer iteration = Integer.valueOf(iterationString);
expected.putIfAbsent(query, new HashMap<>());
expected.get(query).putIfAbsent(size, new HashMap<>());
expected.get(query).get(size).putIfAbsent(iteration, value);
});
} catch (IOException e) {
e.printStackTrace();
}
}
private void setVars() {
PowerMockito.mockStatic(System.class);
PowerMockito.when(System.getenv(Mockito.eq("ChangeSet"))).thenReturn("bart");
PowerMockito.when(System.getenv(Mockito.eq("ChangePath"))).thenReturn("bart");
PowerMockito.when(System.getenv(Mockito.eq("Query"))).thenReturn(Integer.toString(query));
// you will need to do this (thenCallRealMethod()) for all the other methods
PowerMockito.when(System.getProperty(Mockito.any())).thenCallRealMethod();
}
private AbstractLiveContestDriver driver;
public AllXmlTest(int query, int size) {
this.query = query;
this.size = size;
setVars();
}
@Before
public void setupDriver() {
driver = new LiveContestDriverXml();
}
@Test
public void test() {
System.out.println(query + "," + size + ":" + expected.get(query).get(size));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment