|
|
@ -1,4 +1,48 @@ |
|
|
|
package org.example; |
|
|
|
|
|
|
|
import org.example.Professor; |
|
|
|
import org.junit.jupiter.api.AfterEach; |
|
|
|
import org.junit.jupiter.api.BeforeEach; |
|
|
|
import org.junit.jupiter.api.Test; |
|
|
|
import static org.junit.jupiter.api.Assertions.*; |
|
|
|
import java.io.*; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
public class ProfessorTest { |
|
|
|
|
|
|
|
@BeforeEach |
|
|
|
void setup() throws IOException { |
|
|
|
// Ensure the file is clean before each test |
|
|
|
new PrintWriter("professorData.txt").close(); |
|
|
|
} |
|
|
|
|
|
|
|
@AfterEach |
|
|
|
void tearDown() { |
|
|
|
// Clean up after tests |
|
|
|
new File("professorData.txt").delete(); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
void testWriteToFile() throws IOException { |
|
|
|
Professor professor = new Professor("P1001", "John Doe", "Professor"); |
|
|
|
professor.writeToFile(); |
|
|
|
|
|
|
|
// Verify the file contains the expected data |
|
|
|
try (BufferedReader reader = new BufferedReader(new FileReader("professorData.txt"))) { |
|
|
|
assertEquals("Professor{professorID='P1001', Name='John Doe', role='Professor'}", reader.readLine()); |
|
|
|
} |
|
|
|
} |
|
|
|
@Test |
|
|
|
void testReadFromFile() throws IOException { |
|
|
|
Professor professor = new Professor("P1002", "Jane Doe", "Professor"); |
|
|
|
professor.writeToFile(); |
|
|
|
|
|
|
|
List<Professor> professors = Professor.readFromFile(); |
|
|
|
|
|
|
|
assertEquals(1, professors.size()); |
|
|
|
assertEquals("P1002", professors.get(0).getProfessorID()); |
|
|
|
assertEquals("Jane Doe", professors.get(0).getName()); |
|
|
|
assertEquals("Professor", professors.get(0).getRole()); |
|
|
|
} |
|
|
|
} |