-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: refac test implementation #144
Comments
This might allow an easier solution of #140 |
12 tasks
AntonReinhard
added a commit
that referenced
this issue
Jan 20, 2025
With this PR, I propose a major refactoring of the test implementation, mostly to drop `QEDcore.jl` as a test dependency. See #144 for details. ## TODO (unit tests itself) - [x] particle: check only particle properties - [x] particle: implement and check `propagator` - [x] particle: implement and check `base_state` - [x] process: moving parts that do not belong to processes (marked in the code by `TODO`) - [x] particle stateful: implement some tests - [x] cross section: remove coordinate-based evaluation (is checked in PSP tests) - [x] core_compat: move to `QEDcore.jl` ## TODO (test implementation) - [x] psp: make `TestPhaseSpacePoint(...,moms)` type-stable - [x] psp: implement proper in- and out-psps - [x] particle: implement massless particles - [x] psl: implement failing PSL ## TODO (general) - [x] consider testing everything for `(TestMomentum{T}, TestMomentumMutable{T})` where `T<:Union{Float16,Float32, Float64}` (not just for `TestMomentum{Float64}`) ## Final remarks Solves #144. Makes #140 easier to achive. --------- Co-authored-by: Uwe Hernandez Acosta <[email protected]> Co-authored-by: Anton Reinhard <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, we test the interfaces in
QEDbase.jl
by (partially) using existing implementations of the interfaces, which live inQEDcore.jl
. In my opinion, there are some issues with this approach:QEDbase.jl
puts the Julia session in a stage with circular dependencies. This is especially true, if one wants to testQEDbase.jl
against a particular version ofQEDcore.jl
QEDbase.jl
orQEDcore.jl
are very painful, because in both directions, one needs to take care og the integration (strong dependence in the one, and weak dependence in the other direction)QEDbase.jl
. The tests of the specific implementations belong to the package which provides them, e.g.QEDcore.jl
Suggested solution
Rewrite of the unit tests, especially the
TestImplementation
module. This shall fulfill the following requirements:QEDbase.jl
must get a flat and simple test implementation and unit tests to check themMeeting these requirements should allow to drop
QEDcore.jl
as a test dependency. Moreover, this would solve all issues raised above.The text was updated successfully, but these errors were encountered: