Skip to content

Commit

Permalink
Move the guinea pig spec to top level to easier run it with other tools
Browse files Browse the repository at this point in the history
  • Loading branch information
luontola committed Jul 14, 2016
1 parent 1470d4b commit 6ba4ccb
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 33 deletions.
23 changes: 23 additions & 0 deletions specsy-junit/src/test/java/org/specsy/junit/SampleSpec.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright © 2010-2016, Esko Luontola <www.orfjackal.net>
// This software is released under the Apache License 2.0.
// The license text is at http://www.apache.org/licenses/LICENSE-2.0

package org.specsy.junit;

import org.specsy.java.JavaSpecsy;

/**
* Guinea pig used by {@link SpecsyTestEngineTest}. Do not change.
*/
public class SampleSpec extends JavaSpecsy {
@Override
public void run() throws Throwable {
spec("passing", () -> {
spec("nested", () -> {
});
});
spec("failing", () -> {
throw new AssertionError("dummy failure");
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import org.junit.platform.launcher.listeners.LoggingListener;
import org.junit.platform.launcher.listeners.SummaryGeneratingListener;
import org.junit.platform.launcher.listeners.TestExecutionSummary;
import org.specsy.java.JavaSpecsy;

import java.io.File;
import java.io.PrintWriter;
Expand Down Expand Up @@ -43,13 +42,13 @@ public void runs_Specsy_with_JUnit() {
}));

launcher.execute(LauncherDiscoveryRequestBuilder.request()
.selectors(selectClass(DummySpec.class))
.selectors(selectClass(SampleSpec.class))
.build());

TestExecutionSummary summary = summaryListener.getSummary();
summary.printTo(new PrintWriter(System.out));
summary.printFailuresTo(new PrintWriter(System.out));
// ConsoleLauncher.main(DummySpec.class.getName());
// ConsoleLauncher.main(SampleSpec.class.getName());

String summaryString = toString(summary);
assertThat(summaryString, containsString("4 tests found"));
Expand All @@ -60,37 +59,37 @@ public void runs_Specsy_with_JUnit() {

@Test
public void reported_UniqueIds() {
List<TestIdentifier> tests = runTests(selectClass(DummySpec.class));
List<TestIdentifier> tests = runTests(selectClass(SampleSpec.class));

assertThat("tests", tests, hasSize(6));
assertThat(tests.get(0).getUniqueId(), is("[engine:specsy]"));
assertThat(tests.get(1).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]"));
assertThat(tests.get(2).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]/[nested:0]"));
assertThat(tests.get(3).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]/[nested:0]/[nested:0]"));
assertThat(tests.get(4).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]"));
assertThat(tests.get(5).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]/[nested:1]"));
assertThat(tests.get(1).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]"));
assertThat(tests.get(2).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]/[nested:0]"));
assertThat(tests.get(3).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]/[nested:0]/[nested:0]"));
assertThat(tests.get(4).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]"));
assertThat(tests.get(5).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]/[nested:1]"));
}

@Test
public void reported_display_names() {
List<TestIdentifier> tests = runTests(selectClass(DummySpec.class));
List<TestIdentifier> tests = runTests(selectClass(SampleSpec.class));

assertThat(tests.get(0).getDisplayName(), is("Specsy"));
assertThat(tests.get(1).getDisplayName(), is("DummySpec"));
assertThat(tests.get(1).getDisplayName(), is("SampleSpec"));
assertThat(tests.get(2).getDisplayName(), is("passing"));
assertThat(tests.get(3).getDisplayName(), is("nested"));
assertThat(tests.get(5).getDisplayName(), is("failing"));
}

@Test
public void select_tests_by_UniqueId() {
List<TestIdentifier> tests = runTests(selectUniqueId("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]/[nested:0]"));
List<TestIdentifier> tests = runTests(selectUniqueId("[engine:specsy]/[class:org.specsy.junit.SampleSpec]/[nested:0]"));

assertThat("tests", tests, hasSize(4));
assertThat(tests.get(0).getUniqueId(), is("[engine:specsy]"));
assertThat(tests.get(1).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]"));
assertThat(tests.get(2).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]/[nested:0]"));
assertThat(tests.get(3).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]/[nested:0]/[nested:0]"));
assertThat(tests.get(1).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]"));
assertThat(tests.get(2).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]/[nested:0]"));
assertThat(tests.get(3).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]/[nested:0]/[nested:0]"));
}

@Test
Expand All @@ -99,7 +98,7 @@ public void select_tests_by_classpath() {

assertThat("tests", tests, hasSize(6));
assertThat(tests.get(0).getUniqueId(), is("[engine:specsy]"));
assertThat(tests.get(1).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]"));
assertThat(tests.get(1).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]"));
}

@Test
Expand All @@ -108,23 +107,7 @@ public void select_tests_by_package() {

assertThat("tests", tests, hasSize(6));
assertThat(tests.get(0).getUniqueId(), is("[engine:specsy]"));
assertThat(tests.get(1).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SpecsyTestEngineTest$DummySpec]"));
}


// guinea pigs

public static class DummySpec extends JavaSpecsy {
@Override
public void run() throws Throwable {
spec("passing", () -> {
spec("nested", () -> {
});
});
spec("failing", () -> {
throw new AssertionError("dummy failure");
});
}
assertThat(tests.get(1).getUniqueId(), is("[engine:specsy]/[class:org.specsy.junit.SampleSpec]"));
}


Expand Down

0 comments on commit 6ba4ccb

Please sign in to comment.