import os import sys import unittest from unittest import mock sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) import model_decimate class TestModelDecimateCli(unittest.TestCase): def test_default_reducer_is_quad(self): summary = { "src": "store.fbx", "tris_before": 49966, "tris_after": 3000, "target": 3000, "reducer": "quad", "uv": { "mode": "seam", "islands": 1, "fill": 1.0, "flipped": 0.0, "overlap": 0.0, }, "warnings": [], } argv = ["model_decimate.py", "store.fbx", "--tris", "3000"] with mock.patch.object(sys, "argv", argv), \ mock.patch.object(model_decimate, "find_blender", return_value="blender"), \ mock.patch.object(model_decimate, "run_blender_script", return_value=summary) as run: model_decimate.main() args = run.call_args.args[2] self.assertEqual(args[-1], "quad") if __name__ == "__main__": unittest.main()