Anul 3 Semestrul 2
This commit is contained in:
@@ -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");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user