giacrossi / FORbID

Simple OOP Fortran Definite Integrals Solver
12 stars 2 forks source link

List of regression tests and driven tests #12

Open szaghi opened 8 years ago

szaghi commented 8 years ago

If you accept to adopt TDD approach, it could be helpful to list the desiderata tests:

giacrossi commented 8 years ago

Functions cos(x) and sin(x) added in 15ff366745d760791d77e56c962a2d90727d9506

giacrossi commented 8 years ago

I'm not a good fortran poor programmer, so I try to grab as much as possible from "eminent" fortran addicted: as the number of integrators implemented in FORbID increases, I think can be a good idea to "copy" the awesome work that @szaghi made in the testing facilty developed for FOODiE (here a little example). Can be a good idea? And in this way I can also taste FLAP...

szaghi commented 8 years ago

Hi Giacomo,

I am not sure what you are meaning, but copy me is not a good idea at all.

Anyway, the tests suite is very important. I suggest you to get inspiration from this. In particular, make your tests as simple as possible. The FOODIE (note I have changed the name, thank you @rouson) tests are now too much complex. This is mainly due to their aim: presently, the FOODIE tests are not really regression tests, but tests and examples used for the manuscript (thus I have to compute accuracy, performances, change quickly input, verify output). Your regression tests should be as the @jacobwilliams ones: small, concise and clear.

FLAP can surely help to simplify an eventual CLI of your tests, but for the regression tests I prefer to completely avoid to have a CLI... In the near future I hope to find the time to sanitize FOODIE directories tree and put the current tests suite into a different place/level from the actual regression tests (that are still missing).

In case you want to start with accuracy tests like FOODIE (bad idea), you can inspire yourself by it, but I suggest to follow strictly (more than I have done) the TDD model, as @rouson suggested.

See you soon.

giacrossi commented 8 years ago

As always, I did not explain myself well: when I say that I want to "copy" the FOODIE tests, I mean that I think is a good idea to develop a test suite in which I can test all (at the same time, or selectively) the integrators that I implement in FORbID. Period. Do you think that is unnecessary have a CLI to specify what integrator has to be tested, but test always all the integrators?

I hope I give to you a better explanation.

Thank you for your patience!

szaghi commented 8 years ago

Yes, I think is unnecessary: make one regression test for one integrator.. KISS tests!

The FOODIE tests suite is not a regression tests suite rather a suite of tests and examples for accuracy, performance, etc... they are not so simple and clean tests necessary for collecting data for a manuscript.