From 61815d4787cf2d06858d9be779729dd82e684661 Mon Sep 17 00:00:00 2001 From: Prasith Basky Date: Wed, 21 Jan 2026 02:02:40 +0100 Subject: [PATCH] [murugapy] Adding tests --- coverage-report.pdf | Bin 0 -> 79981 bytes diffusion2d.py | 11 +++- requirements.txt | 4 ++ tests/integration/test_diffusion2d.py | 64 ++++++++++++++++++++++- tests/unit/test_diffusion2d_functions.py | 56 +++++++++++++++++++- tox.toml | 22 ++++++++ 6 files changed, 154 insertions(+), 3 deletions(-) create mode 100644 coverage-report.pdf create mode 100644 requirements.txt create mode 100644 tox.toml diff --git a/coverage-report.pdf b/coverage-report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5970005e674ca089b9fc24dd42ddc2b2d25e58d3 GIT binary patch literal 79981 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 z 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ð=YH4-E6V-2| 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 z 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"] +env_list = ["unit", "integration", "report"] + +[env_run_base] +deps = ["-rrequirements.txt"] +set_env = { PYTHONPATH = "{tox_root}" } + +[env.unit] +description = "Run unit tests" +commands = [["pytest", "-q", "tests/unit"]] + +[env.integration] +description = "Run integration tests" +commands = [["pytest", "-q", "tests/integration"]] + +[env.report] +description = "Generate coverage HTML report" +commands = [ + ["coverage", "run", "-m", "pytest"], + ["coverage", "html"] +]