Anul 3 Semestrul 2

This commit is contained in:
2025-07-03 20:56:38 +03:00
parent 184f3bd92e
commit 3b7fb85767
269 changed files with 20955 additions and 0 deletions
@@ -0,0 +1,85 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import domain.Student;
import domain.Tema;
import repository.NotaXMLRepo;
import repository.StudentXMLRepo;
import repository.TemaXMLRepo;
import service.Service;
import validation.NotaValidator;
import validation.StudentValidator;
import validation.TemaValidator;
import validation.ValidationException;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
@Tag("AddAssignmentTest")
class AddAssignmentTest {
StudentValidator studentValidator = new StudentValidator();
TemaValidator temaValidator = new TemaValidator();
String filenameStudent = "fisiere/Studenti.xml";
String filenameTema = "fisiere/Teme.xml";
String filenameNota = "fisiere/Note.xml";
StudentXMLRepo studentXMLRepository = new StudentXMLRepo(filenameStudent);
TemaXMLRepo temaXMLRepository = new TemaXMLRepo(filenameTema);
NotaValidator notaValidator = new NotaValidator(studentXMLRepository, temaXMLRepository);
NotaXMLRepo notaXMLRepository = new NotaXMLRepo(filenameNota);
Service service = new Service(studentXMLRepository, studentValidator, temaXMLRepository, temaValidator,
notaXMLRepository, notaValidator);
@Test
void AddAssignment_T1() {
// Arrange
Tema testAssignment = new Tema("1111", "Test Assignment", 12, 6);
// Act
service.addTema(testAssignment);
// Assert
assertTrue(service.findTema("1111") != null);
service.deleteTema("1111");
}
@Test
void AddAssignment_T2() {
// Arrange
Tema testAssignment = new Tema("", "Test Assignment", 12, 6);
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addTema(testAssignment));
// Assert
assertTrue(expetion.getMessage().equals("Numar tema invalid!"));
}
@Test
void AddAssignment_T3() {
// Arrange
Tema testAssignment = new Tema("1111", "", 12, 6);
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addTema(testAssignment));
// Assert
assertTrue(expetion.getMessage().equals("Descriere invalida!"));
}
@Test
void AddAssignment_T4() {
// Arrange
Tema testAssignment = new Tema("1111", "Test Assignment", 15, 6);
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addTema(testAssignment));
// Assert
assertTrue(expetion.getMessage().equals("Deadlineul trebuie sa fie intre 1-14."));
}
@Test
void AddAssignment_T5() {
// Arrange
Tema testAssignment = new Tema("1111", "Test Assignment", 12, 15);
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addTema(testAssignment));
// Assert
assertTrue(expetion.getMessage().equals("Saptamana primirii trebuie sa fie intre 1-14."));
}
}
@@ -0,0 +1,170 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import domain.Student;
import repository.NotaXMLRepo;
import repository.StudentXMLRepo;
import repository.TemaXMLRepo;
import service.Service;
import validation.NotaValidator;
import validation.StudentValidator;
import validation.TemaValidator;
import validation.ValidationException;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
@Tag("AddStudentsTest")
class AddStudentsTest {
StudentValidator studentValidator = new StudentValidator();
TemaValidator temaValidator = new TemaValidator();
String filenameStudent = "fisiere/Studenti.xml";
String filenameTema = "fisiere/Teme.xml";
String filenameNota = "fisiere/Note.xml";
StudentXMLRepo studentXMLRepository = new StudentXMLRepo(filenameStudent);
TemaXMLRepo temaXMLRepository = new TemaXMLRepo(filenameTema);
NotaValidator notaValidator = new NotaValidator(studentXMLRepository, temaXMLRepository);
NotaXMLRepo notaXMLRepository = new NotaXMLRepo(filenameNota);
Service service = new Service(studentXMLRepository, studentValidator, temaXMLRepository, temaValidator,
notaXMLRepository, notaValidator);
@Test
void AddStudents_ValidId_WillSucceed() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
// Act
service.addStudent(testStudent);
// Assert
assertTrue(service.findStudent("1004") != null);
service.deleteStudent("1004");
}
@Test
void AddStudents_NullId_WillFail() {
// Arrange
Student testStudent = new Student(null, "Andrei", 932, "andrei@test.com");
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addStudent(testStudent));
// Assert
assertTrue(expetion.getMessage().equals("Id incorect!"));
}
@Test
void AddStudents_EmptyId_WillFail() {
// Arrange
Student testStudent = new Student("", "Andrei", 932, "andrei@test.com");
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addStudent(testStudent));
// Assert
assertTrue(expetion.getMessage().equals("Id incorect!"));
}
@Test
void AddStudents_ValidName_WillSucceed() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
// Act
service.addStudent(testStudent);
// Assert
assertTrue(service.findStudent("1004") != null);
service.deleteStudent("1004");
}
@Test
void AddStudents_NullName_WillFail() {
// Arrange
Student testStudent = new Student("1004", null, 932, "andrei@test.com");
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addStudent(testStudent));
// Assert
assertTrue(expetion.getMessage().equals("Nume incorect!"));
}
@Test
void AddStudents_EmptyName_WillFail() {
// Arrange
Student testStudent = new Student("1004", "", 932, "andrei@test.com");
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addStudent(testStudent));
// Assert
assertTrue(expetion.getMessage().equals("Nume incorect!"));
}
@Test
void AddStudents_ValidPositiveGroup_WillSucceed() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 1, "andrei@test.com");
// Act
service.addStudent(testStudent);
// Assert
assertTrue(service.findStudent("1004") != null);
service.deleteStudent("1004");
}
@Test
void AddStudents_ZeroGroup_WillSucceed() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 0, "andrei@test.com");
// Act
service.addStudent(testStudent);
// Assert
assertTrue(service.findStudent("1004") != null);
service.deleteStudent("1004");
}
@Test
void AddStudents_NegativeGroup_WillFail() {
// Arrange
Student testStudent = new Student("1004", "Andrei", -1, "andrei@test.com");
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addStudent(testStudent));
// Assert
assertTrue(expetion.getMessage().equals("Grupa incorecta!"));
}
@Test
void AddStudents_ValidEmail_WillSucceed() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
// Act
service.addStudent(testStudent);
// Assert
assertTrue(service.findStudent("1004") != null);
service.deleteStudent("1004");
}
@Test
void AddStudents_NullEmail_WillFail() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, null);
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addStudent(testStudent));
// Assert
assertTrue(expetion.getMessage().equals("Email incorect!"));
}
@Test
void AddStudents_EmptyEmail_WillFail() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, "");
// Act
var expetion = assertThrows(ValidationException.class, () -> service.addStudent(testStudent));
// Assert
assertTrue(expetion.getMessage().equals("Email incorect!"));
}
@Test
void AddStudents_DuplicateId_WillFail() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
// Act
service.addStudent(testStudent);
var expetion = assertThrows(ValidationException.class, () -> service.addStudent(testStudent));
// Assert
assertTrue(expetion.getMessage().equals("Studentul exista!"));
service.deleteStudent("1004");
}
}
@@ -0,0 +1,14 @@
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
@Tag("ExamplePack")
class ExampleTest {
@Test
void exampleTestCase() {
System.out.println("Running an example test...");
assertTrue(true, "Example assertion passed");
}
}
@@ -0,0 +1,95 @@
import domain.Nota;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import domain.Student;
import domain.Tema;
import repository.NotaXMLRepo;
import repository.StudentXMLRepo;
import repository.TemaXMLRepo;
import service.Service;
import validation.NotaValidator;
import validation.StudentValidator;
import validation.TemaValidator;
import validation.ValidationException;
import static org.mockito.Mockito.*;
import java.time.LocalDate;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
@Tag("IncrementalIntegrationTest")
class IncrementalIntegrationTest {
StudentValidator studentValidator = new StudentValidator();
TemaValidator temaValidator = new TemaValidator();
String filenameStudent = "fisiere/Studenti.xml";
String filenameTema = "fisiere/Teme.xml";
String filenameNota = "fisiere/Note.xml";
StudentXMLRepo studentXMLRepository = mock(StudentXMLRepo.class);
TemaXMLRepo temaXMLRepository = mock(TemaXMLRepo.class);
NotaValidator notaValidator = new NotaValidator(studentXMLRepository, temaXMLRepository);
NotaXMLRepo notaXMLRepository = new NotaXMLRepo(filenameNota);
Service service = new Service(studentXMLRepository, studentValidator, temaXMLRepository, temaValidator,
notaXMLRepository, notaValidator);
@Test
void AddStudent() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
when(studentXMLRepository.findOne("1004")).thenReturn(null).thenReturn(testStudent);
// Act
service.addStudent(testStudent);
// Assert
assertTrue(service.findStudent("1004") != null);
verify(studentXMLRepository).save(testStudent);
service.deleteStudent("1004");
}
@Test
void AddStudentAndAssignment() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
Tema testAssignment = new Tema("1111", "Test Assignment", 12, 6);
when(studentXMLRepository.findOne("1004")).thenReturn(null).thenReturn(testStudent);
when(temaXMLRepository.findOne("1111")).thenReturn(null).thenReturn(testAssignment);
// Act
service.addTema(testAssignment);
service.addStudent(testStudent);
// Assert
assertTrue(service.findStudent("1004") != null);
assertTrue(service.findTema("1111") != null);
verify(studentXMLRepository).save(testStudent);
verify(temaXMLRepository).save(testAssignment);
service.deleteTema("1111");
service.deleteStudent("1004");
}
@Test
void IntegrationTest() {
service.deleteNota("1234");
service.deleteTema("1111");
service.deleteStudent("1004");
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
when(studentXMLRepository.findOne("1004")).thenReturn(null).thenReturn(testStudent);
service.addStudent(testStudent);
verify(studentXMLRepository).save(testStudent);
Tema testAssignment = new Tema("1111", "Test Assignment", 1, 6);
when(temaXMLRepository.findOne("1111")).thenReturn(null).thenReturn(testAssignment);
service.addTema(testAssignment);
verify(temaXMLRepository).save(testAssignment);
Nota testNota = new Nota("1234", "1004", "1111", 9.5, LocalDate.of(2018, 10, 2));
service.addNota(testNota, "Amazing work");
assertTrue(service.findNota("1234") != null);
service.deleteNota("1234");
service.deleteTema("1111");
service.deleteStudent("1004");
}
}
@@ -0,0 +1,90 @@
import domain.Nota;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import domain.Student;
import domain.Tema;
import repository.NotaXMLRepo;
import repository.StudentXMLRepo;
import repository.TemaXMLRepo;
import service.Service;
import validation.NotaValidator;
import validation.StudentValidator;
import validation.TemaValidator;
import validation.ValidationException;
import java.time.LocalDate;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
@Tag("IntegrationTest")
class IntegrationTest {
StudentValidator studentValidator = new StudentValidator();
TemaValidator temaValidator = new TemaValidator();
String filenameStudent = "fisiere/Studenti.xml";
String filenameTema = "fisiere/Teme.xml";
String filenameNota = "fisiere/Note.xml";
StudentXMLRepo studentXMLRepository = new StudentXMLRepo(filenameStudent);
TemaXMLRepo temaXMLRepository = new TemaXMLRepo(filenameTema);
NotaValidator notaValidator = new NotaValidator(studentXMLRepository, temaXMLRepository);
NotaXMLRepo notaXMLRepository = new NotaXMLRepo(filenameNota);
Service service = new Service(studentXMLRepository, studentValidator, temaXMLRepository, temaValidator,
notaXMLRepository, notaValidator);
@Test
void AddStudent() {
// Arrange
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
// Act
service.addStudent(testStudent);
// Assert
assertTrue(service.findStudent("1004") != null);
service.deleteStudent("1004");
}
@Test
void AddAssignment() {
// Arrange
Tema testAssignment = new Tema("1111", "Test Assignment", 12, 6);
// Act
service.addTema(testAssignment);
// Assert
assertTrue(service.findTema("1111") != null);
service.deleteTema("1111");
}
@Test
void AddGrade() {
Nota testNota = new Nota("1234", "1", "1", 9.5, LocalDate.of(2018, 10, 9));
service.addNota(testNota, "Amazing work");
assertTrue(service.findNota("1234") != null);
service.deleteNota("1234");
}
@Test
void IntegrationTest() {
service.deleteNota("1234");
service.deleteTema("1111");
service.deleteStudent("1004");
Student testStudent = new Student("1004", "Andrei", 932, "andrei@test.com");
service.addStudent(testStudent);
Tema testAssignment = new Tema("1111", "Test Assignment", 1, 6);
service.addTema(testAssignment);
Nota testNota = new Nota("1234", "1004", "1111", 9.5, LocalDate.of(2018, 10, 2));
service.addNota(testNota, "Amazing work");
assertTrue(service.findNota("1234") != null);
service.deleteNota("1234");
service.deleteTema("1111");
service.deleteStudent("1004");
}
}