From fd4ae520f3cbf3787ce790dd4a84f51ba2ae5589 Mon Sep 17 00:00:00 2001 From: LukasK13 Date: Tue, 21 Apr 2020 14:46:02 +0200 Subject: [PATCH] Test RadiantFactory --- tests/data/atmosphere/emission.csv | 12 ++++++++++++ tests/data/atmosphere/transmittance.csv | 12 ++++++++++++ tests/data/filter/emissivity.csv | 12 ++++++++++++ tests/data/lens/emissivity.csv | 12 ++++++++++++ tests/data/lens/transmittance.csv | 12 ++++++++++++ tests/data/mirror/emissivity.csv | 12 ++++++++++++ tests/data/mirror/reflectance.csv | 12 ++++++++++++ tests/data/straylight/emission.csv | 12 ++++++++++++ tests/test_RadiantFactory.py | 26 +++++++++++++++++++++++++ 9 files changed, 122 insertions(+) create mode 100644 tests/data/atmosphere/emission.csv create mode 100644 tests/data/atmosphere/transmittance.csv create mode 100644 tests/data/filter/emissivity.csv create mode 100644 tests/data/lens/emissivity.csv create mode 100644 tests/data/lens/transmittance.csv create mode 100644 tests/data/mirror/emissivity.csv create mode 100644 tests/data/mirror/reflectance.csv create mode 100644 tests/data/straylight/emission.csv create mode 100644 tests/test_RadiantFactory.py diff --git a/tests/data/atmosphere/emission.csv b/tests/data/atmosphere/emission.csv new file mode 100644 index 0000000..9bd37c3 --- /dev/null +++ b/tests/data/atmosphere/emission.csv @@ -0,0 +1,12 @@ +wavelength [nm],emission [W/(m^2*nm*sr)] +400,1.00E-15 +410,1.00E-15 +420,1.00E-15 +430,1.00E-15 +440,1.00E-15 +450,1.00E-15 +460,1.00E-15 +470,1.00E-15 +480,1.00E-15 +490,1.00E-15 +500,1.00E-15 diff --git a/tests/data/atmosphere/transmittance.csv b/tests/data/atmosphere/transmittance.csv new file mode 100644 index 0000000..ce6076c --- /dev/null +++ b/tests/data/atmosphere/transmittance.csv @@ -0,0 +1,12 @@ +wavelength [nm],transmittance [] +400,1 +410,1 +420,1 +430,1 +440,1 +450,1 +460,1 +470,1 +480,1 +490,1 +500,1 diff --git a/tests/data/filter/emissivity.csv b/tests/data/filter/emissivity.csv new file mode 100644 index 0000000..8e93cf9 --- /dev/null +++ b/tests/data/filter/emissivity.csv @@ -0,0 +1,12 @@ +wavelength [nm],emissivity [] +400,1 +410,1 +420,1 +430,1 +440,1 +450,1 +460,1 +470,1 +480,1 +490,1 +500,1 diff --git a/tests/data/lens/emissivity.csv b/tests/data/lens/emissivity.csv new file mode 100644 index 0000000..8e93cf9 --- /dev/null +++ b/tests/data/lens/emissivity.csv @@ -0,0 +1,12 @@ +wavelength [nm],emissivity [] +400,1 +410,1 +420,1 +430,1 +440,1 +450,1 +460,1 +470,1 +480,1 +490,1 +500,1 diff --git a/tests/data/lens/transmittance.csv b/tests/data/lens/transmittance.csv new file mode 100644 index 0000000..ce6076c --- /dev/null +++ b/tests/data/lens/transmittance.csv @@ -0,0 +1,12 @@ +wavelength [nm],transmittance [] +400,1 +410,1 +420,1 +430,1 +440,1 +450,1 +460,1 +470,1 +480,1 +490,1 +500,1 diff --git a/tests/data/mirror/emissivity.csv b/tests/data/mirror/emissivity.csv new file mode 100644 index 0000000..8e93cf9 --- /dev/null +++ b/tests/data/mirror/emissivity.csv @@ -0,0 +1,12 @@ +wavelength [nm],emissivity [] +400,1 +410,1 +420,1 +430,1 +440,1 +450,1 +460,1 +470,1 +480,1 +490,1 +500,1 diff --git a/tests/data/mirror/reflectance.csv b/tests/data/mirror/reflectance.csv new file mode 100644 index 0000000..4747740 --- /dev/null +++ b/tests/data/mirror/reflectance.csv @@ -0,0 +1,12 @@ +wavelength [nm],reflectance [] +400,1 +410,1 +420,1 +430,1 +440,1 +450,1 +460,1 +470,1 +480,1 +490,1 +500,1 diff --git a/tests/data/straylight/emission.csv b/tests/data/straylight/emission.csv new file mode 100644 index 0000000..9bd37c3 --- /dev/null +++ b/tests/data/straylight/emission.csv @@ -0,0 +1,12 @@ +wavelength [nm],emission [W/(m^2*nm*sr)] +400,1.00E-15 +410,1.00E-15 +420,1.00E-15 +430,1.00E-15 +440,1.00E-15 +450,1.00E-15 +460,1.00E-15 +470,1.00E-15 +480,1.00E-15 +490,1.00E-15 +500,1.00E-15 diff --git a/tests/test_RadiantFactory.py b/tests/test_RadiantFactory.py new file mode 100644 index 0000000..b080eba --- /dev/null +++ b/tests/test_RadiantFactory.py @@ -0,0 +1,26 @@ +from unittest import TestCase +from esbo_etc.classes.config import Configuration +from esbo_etc.classes.RadiantFactory import RadiantFactory +import esbo_etc.classes.optical_component as oc +from esbo_etc.classes.target import BlackBodyTarget +import astropy.units as u + + +class TestRadiantFactory(TestCase): + def test_fromConfig(self): + conf = Configuration("data/esbo-etc_defaults.xml").conf + factory = RadiantFactory(conf.common.wl_bins()) + parent = factory.fromConfig(conf) + + parent_2 = BlackBodyTarget(conf.common.wl_bins(), 5778 * u.K, 10 * u.mag, "V") + parent_2 = oc.Atmosphere(parent_2, "data/atmosphere/transmittance.csv", "data/atmosphere/emission.csv") + parent_2 = oc.StrayLight(parent_2, "data/straylight/emission.csv") + parent_2 = oc.Mirror(parent_2, "data/mirror/reflectance.csv", "data/mirror/emissivity.csv", 70 * u.K, + obstruction=0.1, obstructor_temp=70 * u.K) + parent_2 = oc.Mirror(parent_2, "data/mirror/reflectance.csv", "data/mirror/emissivity.csv", 70 * u.K) + parent_2 = oc.Mirror(parent_2, "data/mirror/reflectance.csv", "data/mirror/emissivity.csv", 70 * u.K) + parent_2 = oc.Filter.fromRange(parent_2, 400 * u.nm, 480 * u.nm, "data/filter/emissivity.csv", 70 * u.K) + parent_2 = oc.Lens(parent_2, "data/lens/transmittance.csv", "data/lens/emissivity.csv", 70 * u.K) + + self.assertEqual(parent.calcSignal(), parent_2.calcSignal()) + self.assertEqual(parent.calcNoise(), parent_2.calcNoise())