Skip to content

Commit

Permalink
chore: add missing compute function tests (#454)
Browse files Browse the repository at this point in the history
* chore: add missing compute function tests

* Add tolerance

* Update tolerance

* Lower tolerance for GH Actions

* Lower tolerance for GH Actions

* Simpler values

* Simpler values for other tests too
  • Loading branch information
Saransh-cpp authored Apr 26, 2024
1 parent 47a13cd commit b94c3e9
Show file tree
Hide file tree
Showing 6 changed files with 1,140 additions and 0 deletions.
200 changes: 200 additions & 0 deletions tests/compute/lorentz/test_is_lightlike.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
# Copyright (c) 2019-2024, Jonas Eschle, Jim Pivarski, Eduardo Rodrigues, and Henry Schreiner.
#
# Distributed under the 3-clause BSD license, see accompanying file LICENSE
# or https://github.com/scikit-hep/vector for details.

from __future__ import annotations

import vector.backends.object


def test_xy_z_t():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectZ(0),
vector.backends.object.TemporalObjectT(1),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectZ(0),
vector.backends.object.TemporalObjectT(2),
)
assert not vec.is_lightlike()


def test_xy_z_tau():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectZ(0),
vector.backends.object.TemporalObjectTau(0),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectZ(0),
vector.backends.object.TemporalObjectTau(1.7320508075688772),
)
assert not vec.is_lightlike()


def test_xy_theta_t():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectTheta(1.5707963267948966),
vector.backends.object.TemporalObjectT(1),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectTheta(1.5707963267948966),
vector.backends.object.TemporalObjectT(2),
)
assert not vec.is_lightlike()


def test_xy_theta_tau():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectTheta(1.5707963267948966),
vector.backends.object.TemporalObjectTau(0),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectTheta(1.5707963267948966),
vector.backends.object.TemporalObjectTau(1.7320508075688772),
)
assert not vec.is_lightlike()


def test_xy_eta_t():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectEta(0),
vector.backends.object.TemporalObjectT(1),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectEta(0),
vector.backends.object.TemporalObjectT(2),
)
assert not vec.is_lightlike()


def test_xy_eta_tau():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectEta(0),
vector.backends.object.TemporalObjectTau(0),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectXY(1, 0),
vector.backends.object.LongitudinalObjectEta(0),
vector.backends.object.TemporalObjectTau(1.7320508075688772),
)
assert not vec.is_lightlike()


def test_rhophi_z_t():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectZ(0),
vector.backends.object.TemporalObjectT(1),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectZ(0),
vector.backends.object.TemporalObjectT(2),
)
assert not vec.is_lightlike()


def test_rhophi_z_tau():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectZ(0),
vector.backends.object.TemporalObjectTau(0),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectZ(0),
vector.backends.object.TemporalObjectTau(-4.58257569495584),
)
assert not vec.is_lightlike()


def test_rhophi_theta_t():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectTheta(1.5707963267948966),
vector.backends.object.TemporalObjectT(1),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectTheta(1.5707963267948966),
vector.backends.object.TemporalObjectT(2),
)
assert not vec.is_lightlike()


def test_rhophi_theta_tau():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectTheta(1.5707963267948966),
vector.backends.object.TemporalObjectTau(0),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectTheta(1.5707963267948966),
vector.backends.object.TemporalObjectTau(-4.58257569495584),
)
assert not vec.is_lightlike()


def test_rhophi_eta_t():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectEta(0),
vector.backends.object.TemporalObjectT(1),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectEta(0),
vector.backends.object.TemporalObjectT(2),
)
assert not vec.is_lightlike()


def test_rhophi_eta_tau():
vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectEta(0),
vector.backends.object.TemporalObjectTau(0),
)
assert vec.is_lightlike()

vec = vector.backends.object.VectorObject4D(
vector.backends.object.AzimuthalObjectRhoPhi(1, 0),
vector.backends.object.LongitudinalObjectEta(0),
vector.backends.object.TemporalObjectTau(-4.58257569495584),
)
assert not vec.is_lightlike()
Loading

0 comments on commit b94c3e9

Please sign in to comment.