-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #277 from DavidT3/unitTests/missionClasses
Unit tests/mission classes
- Loading branch information
Showing
16 changed files
with
1,343 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
import unittest | ||
|
||
from astropy.coordinates import FK5 | ||
from astropy.units import Quantity | ||
|
||
from daxa.mission import ASCA | ||
|
||
# Would usually put this in a setUp() function, but it takes some time to instantiate | ||
# Putting the mission object up here instead saves time when running the tests | ||
defaults = ASCA() | ||
|
||
class TestASCA(unittest.TestCase): | ||
def test_valid_inst_selection(self): | ||
# Checking that inst argument is working correctly | ||
mission = ASCA(insts=['SIS0', 'SIS1']) | ||
self.assertEqual(mission.chosen_instruments, ['SIS0', 'SIS1']) | ||
|
||
def test_valid_inst_selection_alt_names(self): | ||
# Alternative instrument names should be able to be parsed | ||
with self.assertWarns(UserWarning): | ||
mission = ASCA(insts=['S0', 'S1']) | ||
self.assertEqual(mission.chosen_instruments, ['SIS0', 'SIS1']) | ||
|
||
def test_wrong_insts(self): | ||
# Shouldnt be able to declare an invalid instrument | ||
with self.assertRaises(ValueError): | ||
ASCA(insts=['wrong']) | ||
|
||
# the basic properties of the class are returning what is expected | ||
def test_name(self): | ||
self.assertEqual(defaults.name, 'asca') | ||
|
||
def test_coord_frame(self): | ||
self.assertEqual(defaults.coord_frame, FK5) | ||
|
||
def test_id_regex(self): | ||
self.assertEqual(defaults.id_regex, '^[0-9]{8}$') | ||
|
||
def test_fov(self): | ||
self.assertEqual(defaults.fov['SIS0'], Quantity(11, 'arcmin')) | ||
|
||
|
||
if __name__ == '__main__': | ||
unittest.main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
import unittest | ||
|
||
from astropy.coordinates import ICRS | ||
from astropy.units import Quantity | ||
|
||
from daxa.mission import Chandra | ||
|
||
# Would usually put this in a setUp() function, but it takes some time to instantiate | ||
# Putting the mission object up here instead saves time when running the tests | ||
defaults = Chandra() | ||
|
||
class TestChandra(unittest.TestCase): | ||
def test_valid_inst_selection(self): | ||
# Checking that inst argument is working correctly | ||
mission = Chandra(insts=['ACIS-I', 'ACIS-S']) | ||
self.assertEqual(mission.chosen_instruments, ['ACIS-I', 'ACIS-S']) | ||
|
||
def test_wrong_insts(self): | ||
# Shouldnt be able to declare an invalid instrument | ||
with self.assertRaises(ValueError): | ||
Chandra(insts=['wrong']) | ||
|
||
# the basic properties of the class are returning what is expected | ||
def test_name(self): | ||
self.assertEqual(defaults.name, 'chandra') | ||
|
||
def test_coord_frame(self): | ||
self.assertEqual(defaults.coord_frame, ICRS) | ||
|
||
def test_fov(self): | ||
with self.assertWarns(UserWarning): | ||
self.assertEqual(defaults.fov['ACIS-I'], Quantity(27.8, 'arcmin')) | ||
|
||
|
||
if __name__ == '__main__': | ||
unittest.main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
'<!DOCTYPE html>\n<html lang="en">\n\n<head>\n <!--\n ------------------------------------------------------------\n eRODat, written by Jeremy Sanders (2022-2023)\n Please report problems at https://erosita-forum.mpe.mpg.de/\n ------------------------------------------------------------\n -->\n\n <title>Directory listing for /135/134/ | eRODat</title>\n <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">\n <link rel="stylesheet" href="/dr1/erodat/static/erodat.css">\n <script type="text/javascript" src="/dr1/erodat/static/jquery.js"></script>\n \n\n<link rel="stylesheet" type="text/css" href="/dr1/erodat/static/DataTables/datatables.min.css"/>\n<link rel="stylesheet" type="text/css" href="/dr1/erodat/static/DataTables-Select/css/select.dataTables.min.css"/>\n<script type="text/javascript" src="/dr1/erodat/static/DataTables/datatables.min.js"></script>\n<script type="text/javascript" src="/dr1/erodat/static/DataTables-Select/js/dataTables.select.min.js"></script>\n\n<script type="text/javascript" src="/dr1/erodat/static/cookie.js"></script>\n<script type="text/javascript" src="/dr1/erodat/data/add_to_basket.js"></script>\n\n<script type="text/javascript">\n\n $(document).ready( function () {\n var table = $(\'#files\').DataTable({\n columnDefs: [\n {\n // format size with commas, right-aligned\n targets: 3,\n render: $.fn.dataTable.render.number(\',\', \'.\', 0, \'\'),\n className: \'dt-body-right\',\n },\n ],\n ordering: false,\n searching: false,\n paging: false,\n select: {\n style: \'multi\',\n selector: \'tr.isfile\',\n },\n initComplete: function( settings, json ) {\n // hide table when loading and show after to avoid redraw\n $(\'#files\').show();\n },\n });\n\n // Add selected files to the basket\n $(\'#AddRows\').click( function() {\n var selected = $(\'#files\').DataTable().rows({selected: true});\n if(selected.count() == 0)\n return;\n\n const regexfn = /<a.*>(.+)<\\/a>/; // get filename from url\n var files = [];\n for(let i=0; i<selected.count(); i++) {\n var sel = selected.data()[i][0];\n var fname = "/135/134/" + sel.match(regexfn)[1];\n\n var tile = -1\n var dpart = fname.split(\'/\');\n if ( dpart.length > 2 ) {\n var tile = parseInt(dpart[2]+dpart[1]);\n }\n files.push({ptype: \'FILE\', filename: fname, \'skytile\': tile});\n }\n add_to_basket(files);\n });\n\n // enable/disable add button\n $(\'#files\').on(\'select.dt deselect.dt\', function () {\n var count = $(\'#files\').DataTable().rows( { selected: true } ).count();\n $(\'#AddRows\').prop(\'disabled\', count==0);\n });\n\n });\n\n</script>\n\n\n\n \n <!-- Matomo -->\n <script>\n var _paq = window._paq = window._paq || [];\n /* tracker methods like "setCustomDimension" should be called before "trackPageView" */\n _paq.push([\'trackPageView\']);\n _paq.push([\'enableLinkTracking\']);\n (function() {\n var u="//erosita.mpe.mpg.de/html/matomo/";\n _paq.push([\'setTrackerUrl\', u+\'matomo.php\']);\n _paq.push([\'setSiteId\', \'16\']);\n var d=document, g=d.createElement(\'script\'), s=d.getElementsByTagName(\'script\')[0];\n g.async=true; g.src=u+\'matomo.js\'; s.parentNode.insertBefore(g,s);\n })();\n </script>\n <!-- End Matomo Code -->\n \n</head>\n\n<body>\n <img src="/dr1/erodat/static/eROSITA_Logo_Blue.png" width="100%">\n <h1>eRODat: eROSITA-DE Data Release 1 archive</h1>\n\n <div class="navbar">\n <a href="https://erosita.mpe.mpg.de/dr1/">Main DR1 home</a>\n <a href="/dr1/erodat/">eRODat home</a>\n <a href="/dr1/erodat/skyview/sky/">Sky view</a>\n <div class="navdropdown">\n <button class="navdropbtn">Skytile search <i class="fa fa-caret-down"></i></button>\n <div class="navdropdown-content">\n <a href="/dr1/erodat/skyview/skytile_search/">Single position</a>\n <a href="/dr1/erodat/skyview/skytile_multi_search/">Multiple positions</a>\n <a href="/dr1/erodat/skyview/skytile_number_search/">By number</a>\n </div>\n </div>\n <div class="navdropdown">\n <button class="navdropbtn">Catalogue search <i class="fa fa-caret-down"></i></button>\n <div class="navdropdown-content">\n <a href="/dr1/erodat/catalogue/search/">Single position</a>\n <a href="/dr1/erodat/catalogue/search_by_id/">By eROSITA identifier</a>\n </div>\n </div>\n <div class="navdropdown">\n <button class="navdropbtn">Upper limits <i class="fa fa-caret-down"></i></button>\n <div class="navdropdown-content">\n <a href="/dr1/erodat/upperlimit/single/">Single position</a>\n <a href="/dr1/erodat/upperlimit/multi/">Multiple positions</a>\n </div>\n </div>\n <a href="/dr1/erodat/data/download/">Download area</a>\n <a href="/dr1/erodat/data/basket/">Basket</a>\n </div>\n\n <div id="content">\n \n\n<h2>Archive directory listing for\n <a href="../../">/</a><a href="../">135/</a><a href="./">134/</a>\n</h2>\n\n\n\n<div>\n<input title="Adds any selected data files to the basket" type="button" value="Add selected to basket" id="AddRows" style="display:inline;" disabled>\n<span id="BasketMessage"></span>\n</div>\n\n<table id="files" class="display" style="width:100%;display:none">\n <thead>\n <tr>\n <th>Name</th><th>Type</th><th>Date</th><th>Size</th>\n </tr>\n </thead>\n\n <tbody>\n\n \n <tr class="isdir"><td><a href="../">Parent directory</a></td><td>Directory</td><td>2023-11-03 12:22:30</td><td></td></tr>\n \n <tr class="isdir"><td><a href="DET_010/">DET_010/</a></td><td>Directory</td><td>2023-02-01 19:38:18</td><td></td></tr>\n \n <tr class="isdir"><td><a href="EXP_010/">EXP_010/</a></td><td>Directory</td><td>2022-11-25 14:58:38</td><td></td></tr>\n \n <tr class="isdir"><td><a href="SOU_010/">SOU_010/</a></td><td>Directory</td><td>2022-09-09 21:37:19</td><td></td></tr>\n \n <tr class="isdir"><td><a href="UPP_010/">UPP_010/</a></td><td>Directory</td><td>2023-10-10 08:07:45</td><td></td></tr>\n \n\n \n\n </tbody>\n</table>\n\n\n </div>\n\n <footer>\n <span><a href="https://www.mpe.mpg.de/impressum">Imprint</a></span>\n <span><a href="https://www.mpe.mpg.de/data-protection">Data Protection</a></span>\n <span>© eROSITA-DE, MPE</span>\n </footer>\n\n</body>\n</html>\n' |
Oops, something went wrong.