| 1 | import sys | 
|---|
| 2 | import os | 
|---|
| 3 | import shutil | 
|---|
| 4 | import datetime | 
|---|
| 5 | from asap import scantable, selector, mask_not | 
|---|
| 6 | from asap.logging import asaplog | 
|---|
| 7 | asaplog.disable() | 
|---|
| 8 |  | 
|---|
| 9 | from nose.tools import * | 
|---|
| 10 | from nose.plugins.skip import SkipTest | 
|---|
| 11 |  | 
|---|
| 12 | def tempdir_setup(): | 
|---|
| 13 | os.makedirs("test_temp") | 
|---|
| 14 |  | 
|---|
| 15 | def tempdir_teardown(): | 
|---|
| 16 | shutil.rmtree("test_temp", True) | 
|---|
| 17 |  | 
|---|
| 18 | class TestNRO(object): | 
|---|
| 19 | def setup(self): | 
|---|
| 20 | s = scantable('data/B68test.nro', average=False, freqref='VREF') | 
|---|
| 21 | sel = selector() | 
|---|
| 22 | # make sure this order is always correct - it can be random | 
|---|
| 23 | sel.set_order(["SCANNO", "POLNO"]) | 
|---|
| 24 | s.set_selection(sel) | 
|---|
| 25 | self.st = s.copy() | 
|---|
| 26 | del s | 
|---|
| 27 |  | 
|---|
| 28 | def tearDown(self): | 
|---|
| 29 | del self.st | 
|---|
| 30 |  | 
|---|
| 31 | def test_init(self): | 
|---|
| 32 | assert_equal(self.st.nrow(), 36) | 
|---|
| 33 | assert_equal(self.st.get_fluxunit(), 'K') | 
|---|
| 34 | assert_equal(self.st.nchan(), 2048) | 
|---|
| 35 | assert_equal(self.st.nif(), 4) | 
|---|
| 36 |  | 
|---|
| 37 | def test_spectrum(self): | 
|---|
| 38 | import numpy | 
|---|
| 39 | sp=numpy.array(self.st._getspectrum(0)) | 
|---|
| 40 | assert_equal(sp.max(),1.9524071216583252) | 
|---|
| 41 | assert_equal(sp.min(),-0.0071961274370551109) | 
|---|
| 42 | assert_equal(sp.argmax(),1648) | 
|---|
| 43 | assert_equal(sp.argmin(),1614) | 
|---|
| 44 |  | 
|---|
| 45 | def test_stats(self): | 
|---|
| 46 | assert_equal(self.st.stats('rms')[0],1.1064267158508301) | 
|---|
| 47 | assert_equal(self.st.stats('stddev')[0],0.29552212357521057) | 
|---|
| 48 | assert_equal(self.st.stats('median')[0],1.0714811086654663) | 
|---|
| 49 | assert_equal(self.st.stats('mean')[0],1.0662506818771362) | 
|---|
| 50 | assert_equal(self.st.stats('sum')[0],2183.681396484375) | 
|---|
| 51 |  | 
|---|
| 52 |  | 
|---|
| 53 | def test_frequency(self): | 
|---|
| 54 | #raise SkipTest("Currently disabled") | 
|---|
| 55 | rf=self.st.get_restfreqs() | 
|---|
| 56 | assert_equal(len(rf),2) | 
|---|
| 57 | assert_equal(rf[0][0],85162157000.0) | 
|---|
| 58 | assert_equal(rf[1][0],86754330000.0) | 
|---|
| 59 | self.st.set_unit('GHz') | 
|---|
| 60 | abc=self.st._getabcissa(0) | 
|---|
| 61 | assert_almost_equal(abc[0],85.182400000256166,places=14) | 
|---|