From 59972b19e62deff3f64abf6e70100573b5846571 Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 26 Aug 2021 12:46:03 -0300 Subject: [PATCH 1/3] Add accuracy_type.py schema tests --- tests/test_schemas.py | 142 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 tests/test_schemas.py diff --git a/tests/test_schemas.py b/tests/test_schemas.py new file mode 100644 index 0000000..c4d43e2 --- /dev/null +++ b/tests/test_schemas.py @@ -0,0 +1,142 @@ +from app import schemas + +import pytest + + +def test_accuracy_type_base_1(): + accuracy_type_base = schemas.accuracy_type.AccuracyTypeBase( + name="test accuracy type base name 1", + description="test accuracy type base description 1" + ) + + assert accuracy_type_base.name == "test accuracy type base name 1" + assert accuracy_type_base.description == "test accuracy type base description 1" + + +def test_accuracy_type_base_2(): + accuracy_type_base = schemas.accuracy_type.AccuracyTypeBase( + name="test accuracy type base name 2" + ) + + assert accuracy_type_base.name == "test accuracy type base name 2" + + +def test_accuracy_type_base_3(): + with pytest.raises(ValueError): + accuracy_type_base = schemas.accuracy_type.AccuracyTypeBase( + description="test accuracy type base description 3" + ) + + +def test_accuracy_type_update1(): + accuracy_type_update = schemas.accuracy_type.AccuracyTypeUpdate( + name="test accuracy type update name 1", + description="test accuracy type update description 1" + ) + + assert accuracy_type_update.name == "test accuracy type update name 1" + assert accuracy_type_update.description == "test accuracy type update description 1" + + +def test_accuracy_type_update2(): + accuracy_type_update = schemas.accuracy_type.AccuracyTypeUpdate( + name="test accuracy type update name 2" + ) + + assert accuracy_type_update.name == "test accuracy type update name 2" + + +def test_accuracy_type_in_db_base1(): + with pytest.raises(ValueError): + accuracy_type_in_db_base = schemas.accuracy_type.AccuracyTypeInDBBase( + id="id", name="test accuracy type in db base name 1" + ) + + +def test_accuracy_type_in_db_base2(): + with pytest.raises(ValueError): + accuracy_type_in_db_base = schemas.accuracy_type.AccuracyTypeInDBBase(id=1) + + +def test_accuracy_type_in_db_base3(): + accuracy_type_in_db_base = schemas.accuracy_type.AccuracyTypeInDBBase( + name="test accuracy type in db base name 3", + description="test accuracy type in db base description 3" + ) + + assert accuracy_type_in_db_base.name == "test accuracy type in db base name 3" + assert accuracy_type_in_db_base.description == "test accuracy type in db base description 3" + + +def test_accuracy_type_in_db_base4(): + accuracy_type_in_db_base = schemas.accuracy_type.AccuracyTypeInDBBase( + id=2, name="test accuracy type in db base name 4", + description="test accuracy type in db base description 4", + ) + + assert accuracy_type_in_db_base.id == 2 + assert accuracy_type_in_db_base.name == "test accuracy type in db base name 4" + assert accuracy_type_in_db_base.description == "test accuracy type in db base description 4" + +# +def test_cpu_base(): + cpu_base = schemas.cpu.CpuBase( + name="test cpu name", number_of_cores=2, frequency=3, fp32_per_cycle=7, + transistors=8, tdp=9.101, gflops=1.121, year=2014, die_size=3 + ) + + assert cpu_base.name == "test cpu name" + assert cpu_base.number_of_cores == 2 + assert cpu_base.frequency == 3 + assert cpu_base.fp32_per_cycle == 7 + assert cpu_base.transistors == 8 + assert cpu_base.tdp == 9.101 + assert cpu_base.gflops == 1.121 + assert cpu_base.die_size == 3 + assert cpu_base.year == 2014 + + +def test_cpu_update(): + with pytest.raises(ValueError): + cpu_update = schemas.cpu.CpuUpdate(number_of_cores="number_of_cores") + + +def test_cpu_in_db_base(): + cpu_in_db_base = schemas.cpu.CpuInDBBase( + name="test cpu in db base name" + ) + + assert cpu_in_db_base.name == "test cpu in db base name" + + +def test_dataset_base(): + dataset_base = schemas.dataset.DatasetBase( + name="test dataset base name", image="test dataset base string image", + description="test dataset base description", source="test dataset base source", + identifier="test dataset base identifier" + ) + + assert dataset_base.name == "test dataset base name" + assert dataset_base.image == "test dataset base string image" + assert dataset_base.description == "test dataset base description" + assert dataset_base.source == "test dataset base source" + assert dataset_base.identifier == "test dataset base identifier" + + +def test_dataset_update(): + dataset_update = schemas.dataset.DatasetUpdate( + name="test dataset base name update", image="test dataset base string image", + description="test dataset base description", source="test dataset base source", + identifier="test dataset base identifier" + ) + + assert dataset_update.name == "test dataset base name update" + assert dataset_update.image == "test dataset base string image" + assert dataset_update.description == "test dataset base description" + assert dataset_update.source == "test dataset base source" + assert dataset_update.identifier == "test dataset base identifier" + + +def test_dataset_in_db_base(): + with pytest.raises(ValueError): + dataset_in_db_base = schemas.dataset.DatasetInDBBase(id="id") From 90c923526181c459afd402eaaff78b31cef50a7a Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 26 Aug 2021 14:39:49 -0300 Subject: [PATCH 2/3] Add more tests --- tests/test_schemas.py | 128 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 115 insertions(+), 13 deletions(-) diff --git a/tests/test_schemas.py b/tests/test_schemas.py index c4d43e2..c27df09 100644 --- a/tests/test_schemas.py +++ b/tests/test_schemas.py @@ -49,7 +49,7 @@ def test_accuracy_type_update2(): def test_accuracy_type_in_db_base1(): with pytest.raises(ValueError): accuracy_type_in_db_base = schemas.accuracy_type.AccuracyTypeInDBBase( - id="id", name="test accuracy type in db base name 1" + id="id_accuracy_type_in_db_base", name="test accuracy type in db base name 1" ) @@ -78,35 +78,137 @@ def test_accuracy_type_in_db_base4(): assert accuracy_type_in_db_base.name == "test accuracy type in db base name 4" assert accuracy_type_in_db_base.description == "test accuracy type in db base description 4" -# -def test_cpu_base(): + +def test_cpu_base1(): cpu_base = schemas.cpu.CpuBase( - name="test cpu name", number_of_cores=2, frequency=3, fp32_per_cycle=7, + name="test cpu base name 1", number_of_cores=2, frequency=3, fp32_per_cycle=7, transistors=8, tdp=9.101, gflops=1.121, year=2014, die_size=3 ) - assert cpu_base.name == "test cpu name" + assert cpu_base.name == "test cpu base name 1" assert cpu_base.number_of_cores == 2 assert cpu_base.frequency == 3 - assert cpu_base.fp32_per_cycle == 7 + assert cpu_base.fp32_per_cycle == 7 assert cpu_base.transistors == 8 - assert cpu_base.tdp == 9.101 + assert cpu_base.tdp == 9.101 assert cpu_base.gflops == 1.121 - assert cpu_base.die_size == 3 assert cpu_base.year == 2014 + assert cpu_base.die_size == 3 + + +def test_cpu_base2(): + cpu_base = schemas.cpu.CpuBase( + name="test cpu base name 2" + ) + + assert cpu_base.name == "test cpu base name 2" + + +def test_cpu_base3(): + with pytest.raises(ValueError): + cpu_base = schemas.cpu.CpuBase( + number_of_cores=3, frequency=4, fp32_per_cycle=8, + transistors=9, tdp=10.101, gflops=11.121, year=2015, die_size=4 + ) -def test_cpu_update(): +def test_cpu_base4(): with pytest.raises(ValueError): - cpu_update = schemas.cpu.CpuUpdate(number_of_cores="number_of_cores") + cpu_base = schemas.cpu.CpuBase( + name="test cpu base name 4", number_of_cores="number_of_cores_cpu_base_4", frequency=5, + fp32_per_cycle=9, transistors=10, tdp=11.101, gflops=12.121, year=2016, die_size=5 + ) + + +def test_cpu_update1(): + cpu_update = schemas.cpu.CpuUpdate( + name="test cpu update name 1", number_of_cores=6, frequency=6, fp32_per_cycle=10, + transistors=11, tdp=12.101, gflops=13.121, year=2017, die_size=6 + ) + + assert cpu_update.name == "test cpu update name 1" + assert cpu_update.number_of_cores == 6 + assert cpu_update.frequency == 6 + assert cpu_update.fp32_per_cycle == 10 + assert cpu_update.transistors == 11 + assert cpu_update.tdp == 12.101 + assert cpu_update.gflops == 13.121 + assert cpu_update.year == 2017 + assert cpu_update.die_size == 6 + + +def test_cpu_update2(): + cpu_update = schemas.cpu.CpuUpdate( + name="test cpu update name 2", number_of_cores=7, frequency=7, fp32_per_cycle=11, + transistors=12, tdp=13.101, gflops=14.121, year=2018 + ) + + assert cpu_update.name == "test cpu update name 2" + assert cpu_update.number_of_cores == 7 + assert cpu_update.frequency == 7 + assert cpu_update.fp32_per_cycle == 11 + assert cpu_update.transistors == 12 + assert cpu_update.tdp == 13.101 + assert cpu_update.gflops == 14.121 + assert cpu_update.year == 2018 -def test_cpu_in_db_base(): +def test_cpu_update3(): + with pytest.raises(ValueError): + cpu_update = schemas.cpu.CpuUpdate( + name="test cpu update name 3", number_of_cores="number_of_cores_cpu_update_3", frequency=8, + fp32_per_cycle=12, transistors=13, tdp=14.101, gflops=15.121, year=2019, die_size=7 + ) + + +def test_cpu_in_db_base1(): + cpu_in_db_base = schemas.cpu.CpuInDBBase( + id=3, name="test cpu in db base name 1", number_of_cores=8, frequency=9, fp32_per_cycle=13, + transistors=14, tdp=15.101, gflops=16.121, year=2020, die_size=8 + ) + + assert cpu_in_db_base.id == 3 + assert cpu_in_db_base.name == "test cpu in db base name 1" + assert cpu_in_db_base.number_of_cores == 8 + assert cpu_in_db_base.frequency == 9 + assert cpu_in_db_base.fp32_per_cycle == 13 + assert cpu_in_db_base.transistors == 14 + assert cpu_in_db_base.tdp == 15.101 + assert cpu_in_db_base.gflops == 16.121 + assert cpu_in_db_base.year == 2020 + assert cpu_in_db_base.die_size == 8 + + +def test_cpu_in_db_base2(): cpu_in_db_base = schemas.cpu.CpuInDBBase( - name="test cpu in db base name" + name="test cpu in db base name 2", number_of_cores=9, frequency=10, fp32_per_cycle=14, + transistors=15, tdp=16.101, gflops=17.121, die_size=9 ) - assert cpu_in_db_base.name == "test cpu in db base name" + assert cpu_in_db_base.name == "test cpu in db base name 2" + assert cpu_in_db_base.number_of_cores == 9 + assert cpu_in_db_base.frequency == 10 + assert cpu_in_db_base.fp32_per_cycle == 14 + assert cpu_in_db_base.transistors == 15 + assert cpu_in_db_base.tdp == 16.101 + assert cpu_in_db_base.gflops == 17.121 + assert cpu_in_db_base.die_size == 9 + + +def test_cpu_in_db_base3(): + with pytest.raises(ValueError): + cpu_in_db_base = schemas.cpu.CpuInDBBase( + number_of_cores=10, frequency=11, fp32_per_cycle=15, transistors=16, tdp=17.101, + gflops=18.121, die_size=19 + ) + + +def test_cpu_in_db_base4(): + with pytest.raises(ValueError): + cpu_in_db_base = schemas.cpu.CpuInDBBase( + id="id_cpu_in_db_base_4", number_of_cores=11, frequency=12, fp32_per_cycle=16, transistors=17, + tdp=18.101, gflops=19.121, die_size=20 + ) def test_dataset_base(): From f8046f618675ac9998024ddea211f02d1af115bb Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 26 Aug 2021 14:52:32 -0300 Subject: [PATCH 3/3] Add more schema tests --- tests/test_schemas.py | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/tests/test_schemas.py b/tests/test_schemas.py index c27df09..6dfc534 100644 --- a/tests/test_schemas.py +++ b/tests/test_schemas.py @@ -241,4 +241,35 @@ def test_dataset_update(): def test_dataset_in_db_base(): with pytest.raises(ValueError): - dataset_in_db_base = schemas.dataset.DatasetInDBBase(id="id") + dataset_in_db_base = schemas.dataset.DatasetInDBBase(id="id_dataset_in_db_base") + + +def test_gpu_base(): + gpu_base = schemas.gpu.GpuBase( + name="test gpu base name", transistors=1, tdp=2, gflops=3.4 + ) + + assert gpu_base.name == "test gpu base name" + assert gpu_base.transistors == 1 + assert gpu_base.tdp == 2 + assert gpu_base.gflops == 3.4 + + +def test_gpu_update(): + gpu_update = schemas.gpu.GpuUpdate( + name="test gpu update name", transistors=2, gflops=4.4 + ) + + assert gpu_update.name == "test gpu update name" + assert gpu_update.transistors == 2 + assert gpu_update.gflops == 4.4 + + +def test_gpu_in_the_base1(): + with pytest.raises(ValueError): + gpu_in_the_base = schemas.gpu.GpuInDBBase(name="test gpu in the base name", id="id_gpu_in_the_base1") + + +def test_gpu_in_the_base2(): + with pytest.raises(ValueError): + gpu_in_the_base = schemas.gpu.GpuInDBBase(id=5)