From 6d9b85d67f64e483584699fbf928cf4e78f8bcf7 Mon Sep 17 00:00:00 2001 From: pcain-usgs <pcain@usgs.gov> Date: Thu, 7 May 2020 14:45:30 -0600 Subject: [PATCH] Create decimal parameter, add null test --- test/residual_test/residual_test.py | 53 +++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/test/residual_test/residual_test.py b/test/residual_test/residual_test.py index a6ff7f61c..6aa2e3faf 100644 --- a/test/residual_test/residual_test.py +++ b/test/residual_test/residual_test.py @@ -1,10 +1,16 @@ from numpy.testing import assert_almost_equal import pytest -from geomagio.residual import calculate, Reading, SpreadsheetAbsolutesFactory +from obspy.core import UTCDateTime +from geomagio.residual import ( + calculate, + Reading, + SpreadsheetAbsolutesFactory, + WebAbsolutesFactory, +) -def assert_readings_equal(expected: Reading, actual: Reading): +def assert_readings_equal(expected: Reading, actual: Reading, decimal: float): """ Compares calculation actuals to expected absolutes from spreadsheet """ @@ -13,24 +19,26 @@ def assert_readings_equal(expected: Reading, actual: Reading): assert_almost_equal( [expected_absolutes["H"].absolute, expected_absolutes["H"].baseline], [actual_absolutes["H"].absolute, actual_absolutes["H"].baseline], - decimal=1, + decimal=decimal, verbose=True, ) assert_almost_equal( [expected_absolutes["D"].absolute, expected_absolutes["D"].baseline], [actual_absolutes["D"].absolute, actual_absolutes["D"].baseline], - decimal=1, + decimal=decimal, verbose=True, ) assert_almost_equal( [expected_absolutes["Z"].absolute, expected_absolutes["Z"].baseline], [actual_absolutes["Z"].absolute, actual_absolutes["Z"].baseline], - decimal=1, + decimal=decimal, verbose=True, ) - assert_almost_equal( - expected.scale_value, actual.scale_value, decimal=1, verbose=True - ) + + if expected.scale_value: + assert_almost_equal( + expected.scale_value, actual.scale_value, decimal=1, verbose=True + ) def compare_spreadsheet_absolutes(path): @@ -44,6 +52,17 @@ def compare_spreadsheet_absolutes(path): return reading +def compare_null_absolutes(observatory, starttime, endtime): + """ + Tests functionality of WebAbsolutesFactory and recalculation of absolutes + """ + # establish SpreadsheetAbsolutesFactory for reading test data from Excel + waf = WebAbsolutesFactory() + # Read spreadsheet containing test data + reading = waf.get_readings(observatory, starttime, endtime)[0] + return reading + + def test_DED_20140952332(): """ Compare calulations to original absolutes obejct from Spreadsheet. @@ -53,7 +72,7 @@ def test_DED_20140952332(): # gather absolute from DED test data and recalculate reading = compare_spreadsheet_absolutes(path="etc/residual/DED-20140952332.xlsm") # test results with original spreadsheet values - assert_readings_equal(reading, calculate(reading)) + assert_readings_equal(reading, calculate(reading), 1) def test_BRW_20133650000(): @@ -65,4 +84,18 @@ def test_BRW_20133650000(): # gather absolute from DED test data and recalculate reading = compare_spreadsheet_absolutes(path="etc/residual/BRW-20133650000.xlsm") # test results with original spreadsheet values - assert_readings_equal(reading, calculate(reading)) + assert_readings_equal(reading, calculate(reading), 1) + + +def test_BOU_20200422(): + """ + Compare calulations to original absolutes obejct from web absolutes. + Tests gathering of BOU's metadata for use by calculations. + Tests calculations for null method measurements in units of DMS. + """ + reading = compare_null_absolutes( + observatory="BOU", + starttime=UTCDateTime("2020-04-22T00:00:00Z"), + endtime=UTCDateTime("2020-04-23T00:00:00Z"), + ) + assert_readings_equal(reading, calculate(reading), 0.1) -- GitLab