To test my package framework stuff I'm writing a unit-testing framework where I basically directly copy the structure of python's built in unittest package. I looked at MUnit for a while but it just seemed somehow both buggy, over-engineered, and yet not flexible enough for what I want to do
I'm setting it up so that the tests are stored in TestSuite objects and that you define one like a package, e.g.:
And then much like unittest or GTest expose stuff like AssertTest, AssertTrue, AssertSameQ, AssertEquals, etc. where the special cases basically call AssertTest with special casing
@Szabolcs I looked at your MicroTest package and I like how small and self-contained it is, but I wanted something that does everything I want
And which basically allows me to directly translate tests across my languages
That's how I'm imagining a test suite would be written. Means you can have multiple suites in a file and there's options for a setup/teardown on a per-suite basis. Test-discovery conventions are still a little up in the air, but I'm think I'll just ask users to pass a list of files to find tests in since I think that's pretty close to how GTest does it? Not sure how I want to turn off/on tests, though. Might have like a "Status" option that can be like "Debug"/"Validate"/"Timing"...
That way you can debug without having to rerun all the validation tests or something
@user21 apply right now before the course? is it really okay? i mean i can promise i will study what is needed but... i mean usually it's the opposite. i am hesitant because i don't want to disappoint you.
@Alucard, that is hard to say without having seen an application? I do not know what your background is. Have you worked with PDEs before or have you used the FEM before?
@Szabolcs have you thought about making a paclet server for your releases using the gh-pages branch of a GitHub repo? This is basically what I did for that old PacletRepository project I tried to get to work, but basically then you could tell people to just do PacletInstall[<name>, "Site"->"https://szhorvat.github.io/<name>"] and it should just work
This would of course make the repo more expensive to fork and clone, but it'd make installation nice
I made a text-based report format for my RunTests function:
--------------------------------------------------
--------------------------------------------------
Test Results:
Timing: 0.008762
-----------------------------------
TestingFrameworkTests:
Overall Timing: 0.006983
MakeTestCase: Success
Timing: 0.00029 s
Memory: 9000 B
ValidateOutput: Returned True
TestCaseArgs: Success
Timing: 0.000008 s
Memory: 328 B
TestCaseMessages: Failure
Timing: 0.005127 s
Memory: 39024 B
Plot called with 0 arguments; 2 arguments are expected.
What do people think I should do for a nice Cell/Box based one?
I also have a Dataset format and honestly those two might be enough