72 lines
1.5 KiB
Python
72 lines
1.5 KiB
Python
from epubmaker.models import Name, Series, Image, Section, Book, BuildContext
|
|
|
|
|
|
def test_name_defaults():
|
|
n = Name()
|
|
assert n.first == ""
|
|
assert n.last == ""
|
|
|
|
|
|
def test_series_defaults():
|
|
s = Series()
|
|
assert s.number == ""
|
|
assert s.name == ""
|
|
|
|
|
|
def test_image_defaults():
|
|
img = Image()
|
|
assert img.name == ""
|
|
assert img.type == ""
|
|
assert img.alt == ""
|
|
assert img.caption == ""
|
|
|
|
|
|
def test_section_defaults():
|
|
s = Section()
|
|
assert s.type == ""
|
|
assert s.name == ""
|
|
assert s.title == ""
|
|
assert s.body == ""
|
|
|
|
|
|
def test_book_defaults():
|
|
b = Book()
|
|
assert b.filename == ""
|
|
assert b.title == ""
|
|
assert b.titlesort == ""
|
|
assert b.publisher == ""
|
|
assert b.isbn == ""
|
|
assert b.uuid == ""
|
|
assert b.author == []
|
|
assert b.images == []
|
|
assert b.sections == []
|
|
|
|
|
|
def test_book_nested_objects():
|
|
b = Book()
|
|
assert isinstance(b.series, Series)
|
|
assert isinstance(b.artist, Name)
|
|
assert isinstance(b.editor, Name)
|
|
assert isinstance(b.cover, Image)
|
|
|
|
|
|
def test_book_author_lists_are_independent():
|
|
b1 = Book()
|
|
b2 = Book()
|
|
b1.author.append(Name(first="Jane", last="Doe"))
|
|
assert len(b2.author) == 0
|
|
|
|
|
|
def test_build_context_defaults():
|
|
ctx = BuildContext()
|
|
assert isinstance(ctx.book, Book)
|
|
assert ctx.verbose is False
|
|
assert ctx.in_section is False
|
|
|
|
|
|
def test_build_context_books_are_independent():
|
|
ctx1 = BuildContext()
|
|
ctx2 = BuildContext()
|
|
ctx1.book.title = "Book One"
|
|
assert ctx2.book.title == ""
|