Add basic tests
This commit is contained in:
parent
896c26cef4
commit
92a0b0ba55
3 changed files with 60 additions and 1 deletions
0
tests/great_ai/__init__.py
Normal file
0
tests/great_ai/__init__.py
Normal file
59
tests/great_ai/test_basic_starters.py
Normal file
59
tests/great_ai/test_basic_starters.py
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
import unittest
|
||||
from functools import lru_cache
|
||||
|
||||
import pytest
|
||||
|
||||
from src.great_ai import (
|
||||
ArgumentValidationError,
|
||||
GreatAI,
|
||||
WrongDecoratorOrderError,
|
||||
parameter,
|
||||
)
|
||||
|
||||
|
||||
class TestHumanReadableToByte(unittest.TestCase):
|
||||
def test_create_simple_cases(self) -> None:
|
||||
@GreatAI.create
|
||||
def hello_world(name: str) -> str:
|
||||
return f"Hello {name}!"
|
||||
|
||||
assert hello_world("andras").output == "Hello andras!"
|
||||
|
||||
@GreatAI.create()
|
||||
def hello_world(name: str) -> str:
|
||||
return f"Hello {name}!"
|
||||
|
||||
assert hello_world("andras").output == "Hello andras!"
|
||||
|
||||
def test_create_with_other_decorator(self) -> None:
|
||||
@GreatAI.create
|
||||
@lru_cache
|
||||
def hello_world(name: str) -> str:
|
||||
return f"Hello {name}!"
|
||||
|
||||
assert hello_world("andras").output == "Hello andras!"
|
||||
|
||||
@lru_cache
|
||||
@GreatAI.create()
|
||||
def hello_world(name: str) -> str:
|
||||
return f"Hello {name}!"
|
||||
|
||||
assert hello_world("andras").output == "Hello andras!"
|
||||
|
||||
def test_with_parameter(self) -> None:
|
||||
@GreatAI.create
|
||||
@parameter("name", validator=lambda v: len(v) > 5)
|
||||
def hello_world(name: str) -> str:
|
||||
return f"Hello {name}!"
|
||||
|
||||
assert hello_world("andras").output == "Hello andras!"
|
||||
|
||||
with pytest.raises(ArgumentValidationError):
|
||||
hello_world("short")
|
||||
|
||||
with pytest.raises(WrongDecoratorOrderError):
|
||||
|
||||
@parameter("name", validator=lambda v: len(v) > 5)
|
||||
@GreatAI.create
|
||||
def hello_world(name: str) -> str:
|
||||
return f"Hello {name}!"
|
||||
|
|
@ -12,7 +12,7 @@ class TestHumanReadableToByte(unittest.TestCase):
|
|||
assert human_readable_to_byte("0.5KB") == 512
|
||||
assert human_readable_to_byte("20.5KB") == 1024 * 20 + 512
|
||||
|
||||
def test_formating(self) -> None:
|
||||
def test_formatting(self) -> None:
|
||||
assert human_readable_to_byte(" 1MB") == 1024 * 1024
|
||||
assert human_readable_to_byte(" 2 MB") == 1024 * 1024 * 2
|
||||
assert human_readable_to_byte(" 4 MB ") == 1024 * 1024 * 4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue