source: nappy/trunk/nappy/unit_tests/test_na_file_1010.py @ 3625

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/nappy/trunk/nappy/unit_tests/test_na_file_1010.py@3625
Revision 3625, 2.2 KB checked in by astephen, 13 years ago (diff)

Cleaned up some of the data files and improved unit tests and comparison code.

Line 
1"""
2test_na_file_1010.py
3====================
4
5Tests for the na_file_1010.py module.
6
7"""
8
9# Import standard library modules
10import unittest
11import os
12import sys
13
14# Import local modules
15base_dir = os.environ.get("NAPPY_BASE_DIR", "../..")
16sys.path.append(base_dir)
17
18import nappy
19import nappy.utils.compare_na
20
21class NAFile1010_TestCase(unittest.TestCase):
22
23    def setUp(self):
24        self.infile = os.path.join(base_dir, "data_files", "1010.na")
25        self.outfile = os.path.join(base_dir, "test_outputs", "test_1010.na")
26        self.out_csv = os.path.join(base_dir, "test_outputs", "test_1010.csv")
27        self.out_csv_annotated = os.path.join(base_dir, "test_outputs", "test_1010_annotated.csv")
28        self.fin = nappy.openNAFile(self.infile)
29        self.fin.readData()
30        self.na_dict = self.fin.getNADict()       
31
32    def test_read1010(self):
33        "Tests reading FFI 1010."
34        self.assertEqual(type(self.na_dict), type({1:2}))
35
36    def test_write1010(self):
37        "Tests writing FFI 1010."
38        fobj = nappy.openNAFile(self.outfile, mode="w", na_dict=self.na_dict)           
39        fobj.write()
40        self.failUnless(isinstance(fobj, nappy.na_file.na_file.NAFile))
41
42    def test_writeCSV1010(self):
43        "Tests conversion to CSV."
44        fobj = nappy.openNAFile(self.out_csv, mode="w", na_dict=self.na_dict)
45        fobj.write(delimiter=",", float_format="%.2d")
46        self.failUnless(isinstance(fobj, nappy.na_file.na_file.NAFile))
47
48    def test_writeAnnotatedCSV1010(self):
49        "Tests conversion to Annotated CSV."
50        fobj = nappy.openNAFile(self.out_csv_annotated, mode="w", na_dict=self.na_dict)
51        fobj.write(delimiter=",", annotation=True)
52        self.failUnless(isinstance(fobj, nappy.na_file.na_file.NAFile))
53 
54    def test_compareFiles1010(self):
55        "Tests comparison of written and original files for equivalence."
56        res = nappy.utils.compare_na.compNAFiles(self.infile, self.outfile, approx_equal=True)
57        self.assertEqual(res, True)
58       
59    def test_compareNAToCSV1010(self):
60        "Tests comparison of original and CSV version written." 
61        res = nappy.utils.compare_na.compNAFiles(self.infile, self.out_csv, delimiter_2=",")
62        self.assertEqual(res, True)
63
64
65if __name__ ==  "__main__":
66
67    unittest.main()
68
69
Note: See TracBrowser for help on using the repository browser.