Skip to content

Commit 1dc0fce

Browse files
author
ilia_isakhin
committed
improved tests
1 parent 114c10c commit 1dc0fce

5 files changed

Lines changed: 92 additions & 4 deletions

File tree

src/main/java/com/epam/izh/rd/online/repository/AuthorRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
public interface AuthorRepository {
66

7+
long getNextId();
8+
79
boolean save(Author author);
810

911
Author getByName(String name);

src/main/java/com/epam/izh/rd/online/repository/BookRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
*/
99
public interface BookRepository<T extends Book> {
1010

11+
long getNextId();
12+
1113
T get(long id);
1214

1315
boolean add(T book);

src/main/java/com/epam/izh/rd/online/service/BasicBookService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
public interface BasicBookService<T extends Book> {
77

8+
int getLibrarySize();
9+
810
Author[] getAllAuthors();
911

1012
T getBiggestBook();

src/main/java/com/epam/izh/rd/online/service/SimpleSchoolBookService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ public SimpleSchoolBookService(BookRepository<Schoolbook> schoolBookBookReposito
1919
this.authorRepository = authorRepository;
2020
}
2121

22+
/**
23+
* @return возвращает число книг в репозитории книг
24+
*/
25+
@Override
26+
public int getLibrarySize() {
27+
return 0;
28+
}
29+
2230
/**
2331
* @return массв все авторов, книги которых лежат в репозитории
2432
*/
Lines changed: 78 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,29 @@
11
package com.epam.izh.rd.online;
22

3+
import com.epam.izh.rd.online.entity.Author;
34
import com.epam.izh.rd.online.entity.Schoolbook;
45
import com.epam.izh.rd.online.repository.AuthorRepository;
56
import com.epam.izh.rd.online.repository.BookRepository;
67
import com.epam.izh.rd.online.repository.SimpleAuthorRepository;
78
import com.epam.izh.rd.online.repository.SimpleSchoolBookRepository;
89
import com.epam.izh.rd.online.service.BasicBookService;
910
import com.epam.izh.rd.online.service.SimpleSchoolBookService;
10-
import org.junit.jupiter.api.*;
11+
import org.junit.jupiter.api.BeforeEach;
12+
import org.junit.jupiter.api.DisplayName;
13+
import org.junit.jupiter.api.Test;
14+
15+
import java.util.Date;
16+
17+
import static org.junit.jupiter.api.Assertions.assertEquals;
1118

1219
public class SchoolbookServiceTest {
1320

21+
private static Schoolbook testBook1;
22+
private static Schoolbook testBook2;
23+
private static Schoolbook testBook3;
24+
private static Author testAuthor;
25+
private static Date NOW = new Date();
26+
1427
private BookRepository<Schoolbook> schoolBookRepository;
1528
private BasicBookService<Schoolbook> schoolbookService;
1629
private AuthorRepository authorRepository;
@@ -20,18 +33,79 @@ void setup() {
2033
authorRepository = new SimpleAuthorRepository();
2134
schoolBookRepository = new SimpleSchoolBookRepository();
2235
schoolbookService = new SimpleSchoolBookService(schoolBookRepository, authorRepository);
36+
37+
testAuthor = new Author(authorRepository.getNextId(), "test", "test", NOW, "test");
38+
testBook1 = new Schoolbook(schoolBookRepository.getNextId(), "a", 150, testAuthor, NOW);
39+
testBook2 = new Schoolbook(schoolBookRepository.getNextId(), "b", 100, testAuthor, NOW);
40+
testBook3 = new Schoolbook(schoolBookRepository.getNextId(), "c", 1, testAuthor, NOW);
2341
}
2442

2543
@Test
2644
@DisplayName("Тест метода BasicBookService<Schoolbook>.getAll()")
2745
void testGetAllCase1() {
28-
Assertions.assertEquals(schoolbookService.getAllAuthors().length, 0);
46+
assertEquals(0, schoolbookService.getAllAuthors().length);
2947
}
3048

3149
@Test
3250
@DisplayName("Тест метода BasicBookService<Schoolbook>.getAll")
3351
void testGetAllCase2() {
34-
schoolbookService.putBook()
35-
Assertions.assertEquals(schoolbookService.getAllAuthors().length, 3);
52+
schoolbookService.putBook(testBook1);
53+
54+
assertEquals(1, schoolbookService.getAllAuthors().length);
55+
assertEquals(1, schoolbookService.getLibrarySize());
56+
assertEquals(testAuthor, authorRepository.getByName(testAuthor.getName()));
57+
}
58+
59+
@Test
60+
@DisplayName("Тест метода BasicBookService<Schoolbook>.getAll")
61+
void testGetAllCase3() {
62+
schoolbookService.putBook(testBook1);
63+
schoolbookService.putBook(testBook1);
64+
65+
assertEquals(1, schoolbookService.getAllAuthors().length);
66+
assertEquals(1, schoolbookService.getLibrarySize());
67+
assertEquals(testAuthor, authorRepository.getByName(testAuthor.getName()));
68+
}
69+
70+
@Test
71+
@DisplayName("Тест метода BasicBookService<Schoolbook>.getBiggestBook")
72+
void testGetBiggestBook() {
73+
schoolbookService.putBook(testBook1);
74+
schoolbookService.putBook(testBook2);
75+
schoolbookService.putBook(testBook3);
76+
77+
assertEquals(3, schoolbookService.getLibrarySize());
78+
assertEquals(testBook1, schoolbookService.getBiggestBook());
79+
}
80+
81+
@Test
82+
@DisplayName("Тест метода BasicBookService<Schoolbook>.getBookForReading")
83+
void testGetBookForReading() {
84+
schoolbookService.putBook(testBook1);
85+
schoolbookService.putBook(testBook2);
86+
schoolbookService.putBook(testBook3);
87+
88+
assertEquals(testBook1, schoolbookService.getBookForReading("a"));
89+
assertEquals(2, schoolbookService.getLibrarySize());
90+
}
91+
92+
@Test
93+
@DisplayName("Тест метода BasicBookService<Schoolbook>.getBookWithAuthor")
94+
void testGetBookWithAuthor() {
95+
schoolbookService.putBook(testBook1);
96+
schoolbookService.putBook(testBook2);
97+
schoolbookService.putBook(testBook3);
98+
99+
assertEquals(3, schoolbookService.getBookWithAuthor(testAuthor).length);
100+
}
101+
102+
@Test
103+
@DisplayName("Тест метода BasicBookService<Schoolbook>.getBooksFromLastCentury")
104+
void testGtBooksFromLastCentury() {
105+
schoolbookService.putBook(testBook1);
106+
schoolbookService.putBook(testBook2);
107+
schoolbookService.putBook(testBook3);
108+
109+
assertEquals(0, schoolbookService.getBooksFromLastCentury().length);
36110
}
37111
}

0 commit comments

Comments
 (0)