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+++--
Msrc/main/java/takehome/Runner.java | 6+++++-
Asrc/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