import static org.junit.Assert.*;
public class CodingRoomsUnitTests {
private final PrintStream standardOut = System.out;
private final ByteArrayOutputStream outputStreamCaptor = new ByteArrayOutputStream();
System.setOut(new PrintStream(outputStreamCaptor));
System.setOut(standardOut);
public void testToString1() {
Employee e = new Employee("John Doe", 4545, 15.67);
String answer = "John Doe -- 4545 -- $15.67 per hour".toLowerCase().trim().replace(" ", "");
String output = outputStreamCaptor.toString().toLowerCase().trim().replace(" ", "");
assertEquals(answer, output);
public void testToString2() {
Employee e = new Employee("Bob Bobbington", 5555, 10.5);
String answer = "Bob Bobbington -- 5555 -- $10.5 per hour".toLowerCase().trim().replace(" ", "");
String output = outputStreamCaptor.toString().toLowerCase().trim().replace(" ", "");
assertEquals(answer, output);
public void testGetRaise1() {
Employee e = new Employee("Bob Bobbington", 5555, 10.5);
assertEquals(outputStreamCaptor.toString().toLowerCase().trim().replace(" ", ""), "Nice you got a $1.0 raise!".toLowerCase().trim().replace(" ", ""));
System.setOut(standardOut);
System.setOut(new PrintStream(outputStreamCaptor));
String answer = "Bob Bobbington -- 5555 -- $11.5 per hour".toLowerCase().trim().replace(" ", "");
String output = outputStreamCaptor.toString().toLowerCase().trim().replace(" ", "");
assertEquals(answer, output);
public void testGetRaise2() {
Employee e = new Employee("Bob Bobbington", 5555, 10.5);
assertEquals(outputStreamCaptor.toString().toLowerCase().trim().replace(" ", ""), "Nice you got a $0.4 raise!".toLowerCase().trim().replace(" ", "");
System.setOut(standardOut);
System.setOut(new PrintStream(outputStreamCaptor));
String answer = "Bob Bobbington -- 5555 -- $10.9 per hour".toLowerCase().trim().replace(" ", "");
String output = outputStreamCaptor.toString().toLowerCase().trim().replace(" ", "");
assertEquals(answer, output);