25 lines
894 B
Python
25 lines
894 B
Python
import pytest
|
|
|
|
import scgenerator as sc
|
|
from scgenerator.evaluator import EvaluatorError
|
|
|
|
|
|
def test_dispersion_logic():
|
|
params = sc.Parameters(wavelength=1550e-9, dispersion_parameter=5e-6)
|
|
assert params.compute("beta2_coefficients") == pytest.approx([-6.3772409974749684e-27])
|
|
|
|
params = sc.Parameters(wavelength=1550e-9, dispersion_parameter=5e-6, dispersion_slope=25)
|
|
assert params.compute("beta2_coefficients") == pytest.approx(
|
|
[-6.3772409974749684e-27, 5.116448086629504e-41]
|
|
)
|
|
|
|
|
|
def test_relaxed_compute():
|
|
params = sc.Parameters(shape="gaussian", energy=1e-6, width=1e-12)
|
|
params.compute("peak_power")
|
|
with pytest.raises(EvaluatorError):
|
|
params = sc.Parameters(energy=1e-6, width=1e-12)
|
|
params.compute("peak_power")
|
|
params = sc.Parameters(energy=1e-6, width=1e-12)
|
|
assert params.compute("peak_power", strict=False) is None
|