tdd-java-demo
tdd java demo with micro-commits
git clone https://9o.is/git/tdd-java-demo.git
commit e7a5b36bd8731e21bdc21c450a43c69639e26ab2 parent 469f33b94b91ce73eb3a4bcb9078f6475ababf71 Author: Jul <jul@9o.is> Date: Wed, 31 Mar 2021 15:25:45 +0800 outputs total of $0.00 Diffstat:
| M | .gitignore | | | 5 | +++-- |
| M | src/main/java/takehome/Runner.java | | | 6 | +++++- |
| A | src/test/java/takehome/RunnerTest.java | | | 27 | +++++++++++++++++++++++++++ |
3 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/.gitignore b/.gitignore @@ -1,2 +1,3 @@ .gradle/ -.idea/ -\ No newline at end of file +.idea/ +build/ +\ No newline at end of file diff --git a/src/main/java/takehome/Runner.java b/src/main/java/takehome/Runner.java @@ -2,12 +2,16 @@ package takehome; import java.io.InputStream; import java.io.OutputStream; +import java.io.PrintStream; public class Runner { + private final PrintStream out; + public Runner(InputStream in, OutputStream out) { + this.out = new PrintStream(out); } public void run() { - + out.println("Total: $0.00"); } } diff --git a/src/test/java/takehome/RunnerTest.java b/src/test/java/takehome/RunnerTest.java @@ -0,0 +1,26 @@ +package takehome; + +import org.junit.jupiter.api.Test; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.Arrays; +import java.util.List; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; + +class RunnerTest { + + @Test + public void example() { + assertThat(output(), contains("Total: $0.00")); + } + + private List<String> output() { + ByteArrayInputStream in = new ByteArrayInputStream("".getBytes()); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + new Runner(in, out).run(); + return Arrays.asList(out.toString().split("\n")); + } +} +\ No newline at end of file