Commit 104b7244 authored by Phillip Webb's avatar Phillip Webb

Fix Windows Atomikos/Bitronix ApplicationTests

Update SampleAtomikosApplicationTests and SampleBitronixApplicationTests
to not depend on any specific System.out order.

Fixes gh-1472
parent ba5c3526
...@@ -16,16 +16,12 @@ ...@@ -16,16 +16,12 @@
package sample.atomikos; package sample.atomikos;
import java.io.PrintWriter;
import java.io.StringWriter;
import org.hamcrest.Matcher; import org.hamcrest.Matcher;
import org.hamcrest.core.SubstringMatcher; import org.hamcrest.core.SubstringMatcher;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.springframework.boot.test.OutputCapture; import org.springframework.boot.test.OutputCapture;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
/** /**
...@@ -41,23 +37,19 @@ public class SampleAtomikosApplicationTests { ...@@ -41,23 +37,19 @@ public class SampleAtomikosApplicationTests {
@Test @Test
public void testTransactionRollback() throws Exception { public void testTransactionRollback() throws Exception {
SampleAtomikosApplication.main(new String[] {}); SampleAtomikosApplication.main(new String[] {});
StringWriter expectedWriter = new StringWriter(); String output = this.outputCapture.toString();
PrintWriter printer = new PrintWriter(expectedWriter); assertThat(output, containsString(1, "---->"));
printer.println("----> josh"); assertThat(output, containsString(1, "----> josh"));
printer.println("Count is 1"); assertThat(output, containsString(2, "Count is 1"));
printer.println("Simulated error"); assertThat(output, containsString(1, "Simulated error"));
printer.println("Count is 1");
assertThat(this.outputCapture.toString(),
containsString(expectedWriter.toString()));
assertThat(this.outputCapture.toString(), containsStringOnce("---->"));
} }
private Matcher<? super String> containsStringOnce(String s) { private Matcher<? super String> containsString(final int times, String s) {
return new SubstringMatcher(s) { return new SubstringMatcher(s) {
@Override @Override
protected String relationship() { protected String relationship() {
return "containing once"; return "containing " + times + " times";
} }
@Override @Override
...@@ -67,7 +59,7 @@ public class SampleAtomikosApplicationTests { ...@@ -67,7 +59,7 @@ public class SampleAtomikosApplicationTests {
s = s.substring(s.indexOf(this.substring) + this.substring.length()); s = s.substring(s.indexOf(this.substring) + this.substring.length());
i++; i++;
} }
return i == 1; return i == times;
} }
}; };
......
...@@ -16,16 +16,12 @@ ...@@ -16,16 +16,12 @@
package sample.bitronix; package sample.bitronix;
import java.io.PrintWriter;
import java.io.StringWriter;
import org.hamcrest.Matcher; import org.hamcrest.Matcher;
import org.hamcrest.core.SubstringMatcher; import org.hamcrest.core.SubstringMatcher;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.springframework.boot.test.OutputCapture; import org.springframework.boot.test.OutputCapture;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
/** /**
...@@ -41,23 +37,19 @@ public class SampleBitronixApplicationTests { ...@@ -41,23 +37,19 @@ public class SampleBitronixApplicationTests {
@Test @Test
public void testTransactionRollback() throws Exception { public void testTransactionRollback() throws Exception {
SampleBitronixApplication.main(new String[] {}); SampleBitronixApplication.main(new String[] {});
StringWriter expectedWriter = new StringWriter(); String output = this.outputCapture.toString();
PrintWriter printer = new PrintWriter(expectedWriter); assertThat(output, containsString(1, "---->"));
printer.println("----> josh"); assertThat(output, containsString(1, "----> josh"));
printer.println("Count is 1"); assertThat(output, containsString(2, "Count is 1"));
printer.println("Simulated error"); assertThat(output, containsString(1, "Simulated error"));
printer.println("Count is 1");
assertThat(this.outputCapture.toString(),
containsString(expectedWriter.toString()));
assertThat(this.outputCapture.toString(), containsStringOnce("---->"));
} }
private Matcher<? super String> containsStringOnce(String s) { private Matcher<? super String> containsString(final int times, String s) {
return new SubstringMatcher(s) { return new SubstringMatcher(s) {
@Override @Override
protected String relationship() { protected String relationship() {
return "containing once"; return "containing " + times + " times";
} }
@Override @Override
...@@ -67,7 +59,7 @@ public class SampleBitronixApplicationTests { ...@@ -67,7 +59,7 @@ public class SampleBitronixApplicationTests {
s = s.substring(s.indexOf(this.substring) + this.substring.length()); s = s.substring(s.indexOf(this.substring) + this.substring.length());
i++; i++;
} }
return i == 1; return i == times;
} }
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment