parent
29a2e7fb1a
commit
6c906e75de
@ -1,132 +0,0 @@
|
||||
package com.smartlibrary.gui;
|
||||
|
||||
import com.smartlibrary.model.Book;
|
||||
import com.smartlibrary.model.User;
|
||||
import com.smartlibrary.service.BookService;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
/**
|
||||
* GUI 组件测试
|
||||
*/
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
@DisplayName("GUI组件测试")
|
||||
class GUIComponentTest {
|
||||
|
||||
@Mock
|
||||
private BookService mockBookService;
|
||||
|
||||
private List<Book> testBooks;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
testBooks = new ArrayList<>();
|
||||
|
||||
Book book1 = new Book();
|
||||
book1.setId("B001");
|
||||
book1.setTitle("设计模式");
|
||||
book1.setAuthor("GoF");
|
||||
book1.setAvailable(true);
|
||||
testBooks.add(book1);
|
||||
|
||||
Book book2 = new Book();
|
||||
book2.setId("B002");
|
||||
book2.setTitle("重构");
|
||||
book2.setAuthor("Martin Fowler");
|
||||
book2.setAvailable(false);
|
||||
testBooks.add(book2);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("测试图书列表加载")
|
||||
void testLoadBookList() {
|
||||
// Given
|
||||
when(mockBookService.findAllBooks()).thenReturn(testBooks);
|
||||
|
||||
// When
|
||||
List<Book> books = mockBookService.findAllBooks();
|
||||
|
||||
// Then
|
||||
assertEquals(2, books.size());
|
||||
verify(mockBookService).findAllBooks();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("测试图书搜索功能")
|
||||
void testSearchBooks() {
|
||||
// Given
|
||||
when(mockBookService.findBookById("B001")).thenReturn(testBooks.get(0));
|
||||
|
||||
// When
|
||||
Book book = mockBookService.findBookById("B001");
|
||||
|
||||
// Then
|
||||
assertNotNull(book);
|
||||
assertEquals("设计模式", book.getTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("测试图书可用性显示")
|
||||
void testBookAvailabilityDisplay() {
|
||||
// Given
|
||||
when(mockBookService.findAllBooks()).thenReturn(testBooks);
|
||||
|
||||
// When
|
||||
List<Book> books = mockBookService.findAllBooks();
|
||||
long availableCount = books.stream().filter(Book::isAvailable).count();
|
||||
long unavailableCount = books.stream().filter(b -> !b.isAvailable()).count();
|
||||
|
||||
// Then
|
||||
assertEquals(1, availableCount);
|
||||
assertEquals(1, unavailableCount);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("测试借阅操作")
|
||||
void testBorrowOperation() {
|
||||
// Given
|
||||
when(mockBookService.borrowBook("B001", "U001")).thenReturn(true);
|
||||
|
||||
// When
|
||||
boolean success = mockBookService.borrowBook("B001", "U001");
|
||||
|
||||
// Then
|
||||
assertTrue(success);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("测试归还操作")
|
||||
void testReturnOperation() {
|
||||
// Given
|
||||
when(mockBookService.returnBook("B002")).thenReturn(true);
|
||||
|
||||
// When
|
||||
boolean success = mockBookService.returnBook("B002");
|
||||
|
||||
// Then
|
||||
assertTrue(success);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("测试空图书列表")
|
||||
void testEmptyBookList() {
|
||||
// Given
|
||||
when(mockBookService.findAllBooks()).thenReturn(new ArrayList<>());
|
||||
|
||||
// When
|
||||
List<Book> books = mockBookService.findAllBooks();
|
||||
|
||||
// Then
|
||||
assertTrue(books.isEmpty());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue