Add basic tests

This commit is contained in:
Andras Schmelczer 2022-07-04 08:47:37 +02:00
parent 896c26cef4
commit 92a0b0ba55
3 changed files with 60 additions and 1 deletions

View file

View 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}!"

View file

@ -12,7 +12,7 @@ class TestHumanReadableToByte(unittest.TestCase):
assert human_readable_to_byte("0.5KB") == 512 assert human_readable_to_byte("0.5KB") == 512
assert human_readable_to_byte("20.5KB") == 1024 * 20 + 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(" 1MB") == 1024 * 1024
assert human_readable_to_byte(" 2 MB") == 1024 * 1024 * 2 assert human_readable_to_byte(" 2 MB") == 1024 * 1024 * 2
assert human_readable_to_byte(" 4 MB ") == 1024 * 1024 * 4 assert human_readable_to_byte(" 4 MB ") == 1024 * 1024 * 4