Skip to content

Restructure test tools #268

Open
Open
@schmoelder

Description

@schmoelder

Currently, we mainly use the createLWE cli to create test cases. However, this method is not necessarily well suited to cover all functionality that we have in CADET (i.e., not all unit operations support binding models etc).

Instead, we propose a new set of methods:

  • createPulse
  • createBreakthrough

which would work for all unit operations, in some cases even have analytical solutions that can be used for benchmarking and code verification, and which can each be parametrized as needed with binding models, reactions, and other features (e.g. discretization method etc.), assuming the corresponding unit operation does support that feature.

For this purpose, we should also migrate some of the helper functions implemented in #187 to a common utility module. Here we're still missing some features such as

Other considerations

  • How to cover other features of CADET such as cyclic systems?
  • Must all this functionality be provided in C++ or is it "good enough" to implement this in Python (e.g. in CADET-Process?)
  • Once this is implemented, should we use a defined set of parametrized tests as a criterion to test the different implementations of CADET backends and frontends (C++ / Julia vs CADET-Process)?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions