Source code for test_microltoolbox

import os.path

import numpy as np
import unittest.mock as mock

from pyLIMA import microltoolbox, microlmodels
from pyLIMA import event

[docs]def test_chichi(): magic_residuals = mock.MagicMock() parameters = [] magic_residuals.residuals_fn.return_value = np.array([0, 1, 50]) parameters2 = [0, 6, 5] chichi = microltoolbox.chichi(magic_residuals.residuals_fn, parameters2) assert chichi == 2501
[docs]def test_magnitude_to_flux(): magnitude = np.array([18.0, 19.0, 17.0]) flux = microltoolbox.magnitude_to_flux(magnitude) assert len(magnitude) == len(flux) assert flux[0] > flux[1] assert flux[2] > flux[1] assert flux[2] > flux[0]
[docs]def test_flux_to_magnitude(): flux = np.array([5000, 7000, 15000]) magnitude = microltoolbox.flux_to_magnitude(flux) assert len(magnitude) == len(flux) assert magnitude[0] > magnitude[1] assert magnitude[1] > magnitude[2]
[docs]def test_error_magnitude_to_error_flux(): flux = np.array([1000, 3000, 10000]) error_magnitude = np.array([0.1, 0.01, 0.001]) error_flux = microltoolbox.error_magnitude_to_error_flux(error_magnitude, flux) assert len(error_magnitude) == len(error_flux) assert np.allclose(error_magnitude, np.abs(-2.5 * error_flux / (flux * np.log(10))))
[docs]def test_error_flux_to_error_magnitude(): flux = np.array([1000, 3000, 10000]) error_flux = np.array([100, 100, 100]) error_magnitude = microltoolbox.error_flux_to_error_magnitude(error_flux, flux) assert len(error_magnitude) == len(error_flux) assert np.allclose(error_magnitude, np.abs(np.array([-0.10857362, -0.03619121, -0.01085736])))
[docs]def test_align_the_data_to_the_reference_telescope(): fit = mock.MagicMock() even = event.Event() telescope_0 = mock.MagicMock() telescope_0.name = 'Survey' telescope_0.lightcurve_flux = np.random.random((100, 3)) telescope_0.lightcurve_magnitude = np.random.random((100, 3)) even.telescopes.append(telescope_0) telescope_1 = mock.MagicMock() telescope_1.name = 'Followup' telescope_1.lightcurve_flux = np.random.random((100, 3)) * 2 telescope_1.lightcurve_magnitude = np.random.random((100, 3)) * 2 even.telescopes.append(telescope_1) model = microlmodels.create_model('PSPL', even, blend_flux_ratio=True) model.define_model_parameters() fit.event = even fit.model = model expected_lightcurves = microltoolbox.align_the_data_to_the_reference_telescope(fit,0,[10,0.1,30,10,15,1.,25]) assert np.allclose(expected_lightcurves[0], even.telescopes[0].lightcurve_magnitude)