Exemple #1
0
 def _create_books(type: str = "RentalBooks") -> Books:
     if type in {"RentalBooks"}:
         return RentalBooks()
     elif type == "ReservedBooks":
         return ReservedBooks()
     else:
         return Books()
 def __init__(
         self,
         user: User,
         rental_books: RentalBooks = RentalBooks(),
         reserved_books: ReservedBooks = ReservedBooks(),
 ):
     self.user = user
     self.rental_books = rental_books
     self.reserved_books = reserved_books
Exemple #3
0
 def test_filter_to_rental_books_expired(self):
     books = RentalBooks()
     book = RentalBook("test1", "2017/01/01", True, "hoge")
     books.append(book)
     books.append(RentalBook("test2", "9999/01/02", True, "hoge"))
     books.append(RentalBook("test3", "9999/01/07", True, "hoge"))
     new_books = BookFilter.do(books, BookFilter.TYPE_RENTAL_EXPIRED)
     assert new_books.len == 1
     assert new_books.get(0) == book  # メモリ比較
Exemple #4
0
 def test_sort(self):
     books = RentalBooks()
     books.append(RentalBook("test3", "2017/01/05", True, "hoge"))
     books.append(RentalBook("test1", "2017/01/03", True, "hoge"))
     book = RentalBook("test1", "2017/01/02", True, "hoge")
     books.append(book)
     new_books = BookFilter.do(books, BookFilter.TYPE_RENTAL_EXPIRE,
                               {"xdays": "5"})
     assert new_books.len == 3
     assert new_books.get(0) == book  # メモリ比較
Exemple #5
0
 def test_empty(self, zero_behavior, message_maker1: MessageMaker):
     rental_books = RentalBooks()
     reserved_books = ReservedBooks()
     empty_info = UserBookInfo(User("{}"),
                               rental_books=rental_books,
                               reserved_books=reserved_books)
     message_maker1.get_all_users_rental_books_message(
         [empty_info], params={"zero": zero_behavior})
     message_maker1.get_all_users_reserved_books_message(
         [empty_info], params={"zero": zero_behavior})
     message_maker1.get_rental_books_message(empty_info,
                                             params={"zero": zero_behavior})
     message_maker1.get_reserved_books_message(
         empty_info, params={"zero": zero_behavior})
     message_maker1.get_rental_and_reserved_books_message(
         empty_info, params={"zero": zero_behavior})
Exemple #6
0
 def test_basic(self):
     books = RentalBooks()
     books.append(RentalBook("test1", "2017/01/01", True, "hoge"))
     books.append(RentalBook("test2", "9999/01/02", True, "hoge"))
     assert books.len == 2
Exemple #7
0
 def do(self, rental_books: RentalBooks) -> RentalBooks:
     filterd_books = list(
         filter(lambda book: book.is_expired(), rental_books.list))
     rental_books.list = self._sort(filterd_books)
     return rental_books
 def do(self, rental_books: RentalBooks) -> RentalBooks:
     # ソートするだけ
     rental_books.list = self._sort(rental_books.list)
     return rental_books
 def books1(self):
     return RentalBooks()