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
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 # メモリ比較
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 # メモリ比較
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})
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
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()