51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
#!/bin/python
|
|
|
|
from src.models import Category
|
|
|
|
|
|
def test_single_level_category():
|
|
c = Category.from_str("single")
|
|
assert c
|
|
assert c.name == "single"
|
|
assert c.parent is None
|
|
|
|
def test_two_level_category():
|
|
c = Category.from_str("first:second")
|
|
assert c
|
|
assert c.name == "second"
|
|
assert isinstance(c.parent, Category)
|
|
assert c.parent.name == "first"
|
|
assert c.parent.parent is None
|
|
|
|
def test_three_level_category():
|
|
c = Category.from_str("first:second:third")
|
|
assert c
|
|
assert c.name == "third"
|
|
assert isinstance(c.parent, Category)
|
|
assert c.parent.name == "second"
|
|
assert isinstance(c.parent.parent, Category)
|
|
assert c.parent.parent.name == "first"
|
|
assert c.parent.parent.parent is None
|
|
|
|
def test_single_level_category_to_string():
|
|
c = Category.from_str("single")
|
|
assert c
|
|
assert str(c) == "single"
|
|
|
|
def test_two_level_category_to_string():
|
|
c = Category(name = "second", parent=Category(name = "first"))
|
|
assert c.to_str() == "first:second"
|
|
|
|
def test_three_level_category_to_string():
|
|
c = Category(name = "third", parent=Category(name = "second", parent=Category(name="first")))
|
|
assert c.to_str() == "first:second:third"
|
|
|
|
def test_category_str():
|
|
c = Category.from_str("first:second:third")
|
|
assert str(c) == "first:second:third"
|
|
|
|
def test_category_repr():
|
|
c = Category.from_str("first:second:third")
|
|
assert repr(c) == "Category.from_str(\"first:second:third\")"
|
|
|