forked from auberonedu/truffula
-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathColorPrinterTest.java
More file actions
66 lines (48 loc) · 2.03 KB
/
ColorPrinterTest.java
File metadata and controls
66 lines (48 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import static org.junit.jupiter.api.Assertions.assertEquals;
class ColorPrinterTest {
@Test
void testPrintlnWithRedColorAndReset() {
// Arrange: Capture the printed output
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream printStream = new PrintStream(outputStream);
ColorPrinter printer = new ColorPrinter(printStream);
printer.setCurrentColor(ConsoleColor.RED);
// Act: Print the message
String message = "I speak for the trees";
printer.println(message);
String expectedOutput = ConsoleColor.RED + "I speak for the trees" + System.lineSeparator() + ConsoleColor.RESET;
// Assert: Verify the printed output
assertEquals(expectedOutput, outputStream.toString());
}
@Test
void testPrintWithCyanSingleParameterRestTrue() {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream printStream = new PrintStream(outputStream);
ColorPrinter printer = new ColorPrinter(printStream);
printer.setCurrentColor(ConsoleColor.CYAN);
printer.print("Miku Miku Beeeeaaaaam");
String expected = ConsoleColor.CYAN + "Miku Miku Beeeeaaaaam" + ConsoleColor.RESET;
assertEquals(expected, outputStream.toString());
}
@Test
void testPrintWithColorAndResetFalse() {
// arrange
// this is to capture printed output
ByteArrayOutputStream output = new ByteArrayOutputStream();
PrintStream testStream = new PrintStream(output);
// this will write to the output
ColorPrinter printer = new ColorPrinter(testStream);
printer.setCurrentColor(ConsoleColor.RED);
String message = "test";
// act perform the action we are testing
// call the print method with resete to false
// the printed message will stay red and will not reset after print
printer.print(message, false);
// assert
String expected = ConsoleColor.RED.toString() + message;
assertEquals(expected, output.toString());
}
}