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
85 lines (57 loc) · 2.5 KB
/
ColorPrinterTest.java
File metadata and controls
85 lines (57 loc) · 2.5 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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 testPrintlnWithGreenColorAndReset() {
// Arrange: Capture the printed output
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream printStream = new PrintStream(outputStream);
ColorPrinter printer = new ColorPrinter(printStream);
printer.setCurrentColor(ConsoleColor.GREEN);
// Act: Print the message
String message = "I speak for the trees";
printer.println(message);
String expectedOutput = ConsoleColor.GREEN + "I speak for the trees" + System.lineSeparator() + ConsoleColor.RESET;
// Assert: Verify the printed output
assertEquals(expectedOutput, outputStream.toString());
}
@Test
void testPrintlnDefaultColor() {
// Arrange: Capture the printed output
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream printStream = new PrintStream(outputStream);
ColorPrinter printer = new ColorPrinter(printStream);
// Assert: Verify the printed output
assertEquals(ConsoleColor.WHITE, printer.getCurrentColor());
}
@Test
void testPrintlnNoReset() {
// 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, false);
String expectedOutput = ConsoleColor.RED + "I speak for the trees" + System.lineSeparator();
// Assert: Verify the printed output
assertEquals(expectedOutput, outputStream.toString());
}
}