From 8c3d678ffb38025f25a7ae0aabe31a6173288a8d Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Sat, 27 Apr 2024 14:35:19 +0200 Subject: [PATCH] Add: Test for filenotfounderror --- src/ergogen_footprint_converter/parser.py | 9 ++++ tests/integration/__init__.py | 0 .../test_ergogen_footprint_converter.py | 42 +++++++++++++++++++ tests/unit/__init__.py | 0 tests/unit/test_converter.py | 8 ++++ tests/unit/test_parser.py | 4 ++ 6 files changed, 63 insertions(+) create mode 100644 src/ergogen_footprint_converter/parser.py create mode 100644 tests/integration/__init__.py create mode 100644 tests/integration/test_ergogen_footprint_converter.py create mode 100644 tests/unit/__init__.py create mode 100644 tests/unit/test_converter.py create mode 100644 tests/unit/test_parser.py diff --git a/src/ergogen_footprint_converter/parser.py b/src/ergogen_footprint_converter/parser.py new file mode 100644 index 0000000..06dab3c --- /dev/null +++ b/src/ergogen_footprint_converter/parser.py @@ -0,0 +1,9 @@ +from kiutils.footprint import Footprint +from pathlib import Path + +class Parser(): + footprint: Footprint + + def __init__(self, input_file: Path): + self.footprint = Footprint.from_file(input_file.absolute().__str__()) + diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/integration/test_ergogen_footprint_converter.py b/tests/integration/test_ergogen_footprint_converter.py new file mode 100644 index 0000000..56fe327 --- /dev/null +++ b/tests/integration/test_ergogen_footprint_converter.py @@ -0,0 +1,42 @@ +from pytest import fixture +import pytest +import ergogen_footprint_converter.main as main + +res_path = "tests/integration/data/simple/" +in_name = "promicro.kicad_mod" + +@fixture +def out_dir (tmp_path): + out_dir = tmp_path / "out" + out_dir.mkdir() + return out_dir + + +def call_main (in_file, out_dir): + args = { + "in": res_path + in_file, + "out": out_dir + } + + main.main(args) + + return out_dir / (in_name.split('.')[0] + ".js") + + +def test_not_exists(out_dir): + with pytest.raises(FileNotFoundError): + call_main("nop", out_dir) + + +def test_exists(out_dir): + out = call_main(in_name, out_dir) + + assert out.exists() + +def test_simple(out_dir): + out = call_main(in_name, out_dir) + + expected = open("tests/integration/data/simple/promicro.js").readlines() + + assert out.read_text() == expected + diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/unit/test_converter.py b/tests/unit/test_converter.py new file mode 100644 index 0000000..16fa624 --- /dev/null +++ b/tests/unit/test_converter.py @@ -0,0 +1,8 @@ +from ergogen_footprint_converter.converter import Converter + +def test_convert(): + input = "" + converter = Converter(input) + res = converter.convert() + + diff --git a/tests/unit/test_parser.py b/tests/unit/test_parser.py new file mode 100644 index 0000000..262c520 --- /dev/null +++ b/tests/unit/test_parser.py @@ -0,0 +1,4 @@ +from ergogen_footprint_converter.parser import Parser + +def test_parser(): + None