fix(tests): removed unused tests
This commit is contained in:
@@ -1,126 +0,0 @@
|
|||||||
"""Focused core-mapping smoke checks for a built or staged STROID Python module.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
python core_mapping_smoke.py --module _stroid --module-dir build/build-python
|
|
||||||
python core_mapping_smoke.py --module-dir /path/to/staged/site-packages
|
|
||||||
"""
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
import importlib
|
|
||||||
import json
|
|
||||||
from pathlib import Path
|
|
||||||
import sys
|
|
||||||
import tempfile
|
|
||||||
|
|
||||||
|
|
||||||
def element_counts(stroid, mesh):
|
|
||||||
result = stroid.stats.ComputeMeshStats(
|
|
||||||
mesh, stroid.stats.MeshStatFeatures.ELEMENT_COUNT
|
|
||||||
)
|
|
||||||
assert not result.errors, result.errors
|
|
||||||
assert result.element_counts is not None
|
|
||||||
return result.element_counts
|
|
||||||
|
|
||||||
|
|
||||||
def run(stroid):
|
|
||||||
default = stroid.config.MeshConfig()
|
|
||||||
assert default.core_mapping == "spherified"
|
|
||||||
default.core_mapping = "multi_block"
|
|
||||||
assert default.core_mapping == "multi_block"
|
|
||||||
assert "core_mapping: multi_block" in repr(default)
|
|
||||||
|
|
||||||
summaries = []
|
|
||||||
with tempfile.TemporaryDirectory(prefix="stroid-python-smoke-") as output:
|
|
||||||
output_path = Path(output)
|
|
||||||
config_path = output_path / "multi_block.toml"
|
|
||||||
config_path.write_text(
|
|
||||||
'[main]\ncore_mapping = "multi_block"\nrefinement_levels = 0\n'
|
|
||||||
'order = 3\ninclude_external_domain = false\n'
|
|
||||||
'r_core = 0.25\nr_star = 1.0\nr_infinity = 6.0\n'
|
|
||||||
'flattening = 0.0\nr_instability = 1e-14\n'
|
|
||||||
'core_steepness = 1.0\ncontinuity_order = 2\n'
|
|
||||||
'surface_bdr_id = 1\ninf_bdr_id = 2\n'
|
|
||||||
'core_id = 1\nenvelope_id = 2\nvacuum_id = 3\n'
|
|
||||||
'[main.optimization_methods]\ntmop = false\nsmoothstep = true\n'
|
|
||||||
)
|
|
||||||
configured_mesh = stroid.GenerateMesh(str(config_path))
|
|
||||||
assert configured_mesh.config.core_mapping == "multi_block"
|
|
||||||
assert element_counts(stroid, configured_mesh).total == 13
|
|
||||||
|
|
||||||
for mapping in ("spherified", "multi_block"):
|
|
||||||
for external in (False, True):
|
|
||||||
config = stroid.config.MeshConfig(
|
|
||||||
core_mapping=mapping,
|
|
||||||
refinement_levels=0,
|
|
||||||
order=3,
|
|
||||||
include_external_domain=external,
|
|
||||||
optimization_methods=stroid.config.OptimizationMethods(
|
|
||||||
tmop=False, smoothstep=True
|
|
||||||
),
|
|
||||||
)
|
|
||||||
mesh = stroid.GenerateMesh(config)
|
|
||||||
assert mesh.has_mesh() and mesh.has_rmesh()
|
|
||||||
counts = element_counts(stroid, mesh)
|
|
||||||
expected_core = 7 if mapping == "multi_block" else 1
|
|
||||||
expected_total = expected_core + 6 + (6 if external else 0)
|
|
||||||
assert counts.total == expected_total
|
|
||||||
assert counts.core == expected_core
|
|
||||||
assert counts.envelope == 6
|
|
||||||
assert counts.vacuum == (6 if external else 0)
|
|
||||||
|
|
||||||
path = output_path / f"{mapping}-{external}.smesh"
|
|
||||||
stroid.IO.SaveStroidMesh(mesh, str(path), "Python core-mapping smoke")
|
|
||||||
loaded = stroid.IO.LoadStroidMesh(str(path))
|
|
||||||
assert loaded.config.core_mapping == mapping
|
|
||||||
assert element_counts(stroid, loaded).total == expected_total
|
|
||||||
|
|
||||||
stroid.refinement.UniformRefinement(loaded, 1)
|
|
||||||
assert loaded.config.core_mapping == mapping
|
|
||||||
assert loaded.refinement_levels == 1
|
|
||||||
refined_counts = element_counts(stroid, loaded)
|
|
||||||
assert refined_counts.total == expected_total * 8
|
|
||||||
assert refined_counts.core == expected_core * 8
|
|
||||||
|
|
||||||
if mapping == "spherified":
|
|
||||||
legacy = "\n".join(
|
|
||||||
line for line in path.read_text().splitlines()
|
|
||||||
if not line.startswith("core_mapping:")
|
|
||||||
)
|
|
||||||
legacy_mesh = stroid.IO.ParseStroidMesh(legacy)
|
|
||||||
assert legacy_mesh.config.core_mapping == "spherified"
|
|
||||||
assert element_counts(stroid, legacy_mesh).total == expected_total
|
|
||||||
|
|
||||||
summaries.append({
|
|
||||||
"mapping": mapping,
|
|
||||||
"external": external,
|
|
||||||
"initial_elements": expected_total,
|
|
||||||
"refined_elements": refined_counts.total,
|
|
||||||
})
|
|
||||||
|
|
||||||
invalid = stroid.config.MeshConfig(
|
|
||||||
core_mapping="unknown", refinement_levels=0
|
|
||||||
)
|
|
||||||
try:
|
|
||||||
stroid.GenerateMesh(invalid)
|
|
||||||
except (ValueError, RuntimeError):
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
raise AssertionError("Unsupported core_mapping was accepted")
|
|
||||||
|
|
||||||
return summaries
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
parser = argparse.ArgumentParser(description=__doc__)
|
|
||||||
parser.add_argument("--module", default="stroid")
|
|
||||||
parser.add_argument("--module-dir", type=Path)
|
|
||||||
args = parser.parse_args()
|
|
||||||
if args.module_dir is not None:
|
|
||||||
sys.path.insert(0, str(args.module_dir.resolve()))
|
|
||||||
stroid = importlib.import_module(args.module)
|
|
||||||
summaries = run(stroid)
|
|
||||||
print(json.dumps({"module": stroid.__file__, "cases": summaries}, indent=2))
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
Reference in New Issue
Block a user