feat: integrate SimpleCADAPI 2.0.2 CAD workflows
This commit is contained in:
@@ -101,6 +101,10 @@ class TestAutoDocsGenPathResolution(unittest.TestCase):
|
||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||
package_root = Path(tmp_dir) / "src/simplecadapi"
|
||||
package_root.mkdir(parents=True, exist_ok=True)
|
||||
backend_root = package_root / "translator/freecad_translator"
|
||||
backend_root.mkdir(parents=True)
|
||||
(backend_root / "api.py").write_text("", encoding="utf-8")
|
||||
(backend_root / "translator.py").write_text("", encoding="utf-8")
|
||||
|
||||
resolved = auto_docs_gen._default_source_files(package_root)
|
||||
|
||||
@@ -108,11 +112,12 @@ class TestAutoDocsGenPathResolution(unittest.TestCase):
|
||||
self.assertIn("serializer.py", resolved_names)
|
||||
self.assertIn("graph.py", resolved_names)
|
||||
self.assertIn("expr.py", resolved_names)
|
||||
self.assertIn("tolerance.py", resolved_names)
|
||||
self.assertIn("sketch.py", resolved_names)
|
||||
self.assertIn("math.py", resolved_names)
|
||||
self.assertIn("translator/freecad_translator/api.py", resolved_names)
|
||||
self.assertIn(
|
||||
"translator/freecad_translator/script_translator.py",
|
||||
"translator/freecad_translator/translator.py",
|
||||
resolved_names,
|
||||
)
|
||||
|
||||
@@ -295,6 +300,41 @@ def fit_cubic_bspline_control_points(sample_points, *, tolerance=1e-3):
|
||||
readme,
|
||||
)
|
||||
|
||||
def test_generate_markdown_includes_physical_units_category(self):
|
||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||
tmp_path = Path(tmp_dir)
|
||||
init_file = tmp_path / "__init__.py"
|
||||
init_file.write_text(
|
||||
"__all__ = ['Dimension', 'convert_value']\n", encoding="utf-8"
|
||||
)
|
||||
source_file = tmp_path / "units.py"
|
||||
source_file.write_text(
|
||||
'''
|
||||
class Dimension:
|
||||
"""Physical dimension."""
|
||||
|
||||
|
||||
def convert_value(value, from_unit, to_unit):
|
||||
"""Convert compatible units."""
|
||||
return value
|
||||
'''.strip()
|
||||
+ "\n",
|
||||
encoding="utf-8",
|
||||
)
|
||||
output_dir = tmp_path / "docs/api"
|
||||
|
||||
generator = auto_docs_gen.APIDocumentGenerator(
|
||||
source_files=[source_file], output_dirs=[output_dir], quiet=True
|
||||
)
|
||||
generator.extract_apis()
|
||||
generator.generate_markdown_docs()
|
||||
|
||||
readme = (output_dir / "README.md").read_text(encoding="utf-8")
|
||||
|
||||
self.assertIn("## Physical Units", readme)
|
||||
self.assertIn("[Dimension](Dimension.md)", readme)
|
||||
self.assertIn("[convert_value](convert_value.md)", readme)
|
||||
|
||||
def test_generate_stdlib_markdown_uses_stdlib_index_and_import_surface(self):
|
||||
with tempfile.TemporaryDirectory() as tmp_dir:
|
||||
tmp_path = Path(tmp_dir)
|
||||
|
||||
Reference in New Issue
Block a user