Browse Source

test: printCourseInfo method in Course class

remotes/origin/fdai7780
fdai7921 11 months ago
parent
commit
96c6a8da43
  1. 37
      src/test/java/org/example/CourseTest.java

37
src/test/java/org/example/CourseTest.java

@ -3,7 +3,42 @@ package org.example;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import static org.junit.Assert.assertEquals;
class CourseTest {
@Test
void printCourseInfo() {
// Create a new Course object
Course course = new Course("Introduction to Programming", "CS101", 3);
// Set up the expected output
String expectedCourseName = "Course Name: Introduction to Programming";
String expectedCourseCode = "Course Code: CS101";
String expectedCourseCredits = "Course Credits: 3";
// Redirect System.out to capture printed output
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream originalOut = System.out;
System.setOut(new PrintStream(outputStream));
// Call the method to be tested
course.printCourseInfo();
// Reset System.out
System.setOut(originalOut);
// Get the printed output
String printedOutput = outputStream.toString().trim(); // trim to remove trailing newline
// Split the printed output into lines
String[] outputLines = printedOutput.split("\\r?\\n");
// Assert that each line matches the expected output
assertEquals(expectedCourseName, outputLines[0].trim());
assertEquals(expectedCourseCode, outputLines[1].trim());
assertEquals(expectedCourseCredits, outputLines[2].trim());
}
}
Loading…
Cancel
Save