source: nappy/trunk/tests/test_na_file_template.tmpl @ 3628

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/nappy/trunk/tests/test_na_file_template.tmpl@5349
Revision 3628, 2.3 KB checked in by astephen, 12 years ago (diff)

Fixing defaults for delimiter and float format throughout.

Line 
1"""
2test_na_file_<FFI>.py
3====================
4
5Tests for the na_file_<FFI>.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 NAFile<FFI>_TestCase(unittest.TestCase):
22
23    def setUp(self):
24        self.infile = os.path.join(base_dir, "data_files", "<FFI>.na")
25        self.outfile = os.path.join(base_dir, "test_outputs", "test_<FFI>.na")
26        self.out_csv = os.path.join(base_dir, "test_outputs", "test_<FFI>.csv")
27        self.out_csv_annotated = os.path.join(base_dir, "test_outputs", "test_<FFI>_annotated.csv")
28        self.fin = nappy.openNAFile(self.infile)
29        self.fin.readData()
30        self.na_dict = self.fin.getNADict()       
31
32    def test_read<FFI>(self):
33        "Tests reading FFI <FFI>."
34        self.assertEqual(type(self.na_dict), type({1:2}))
35
36    def test_write<FFI>(self):
37        "Tests writing FFI <FFI>."
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_writeCSV<FFI>(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="%.6f")
46        self.failUnless(isinstance(fobj, nappy.na_file.na_file.NAFile))
47
48    def test_writeAnnotatedCSV<FFI>(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_compareFiles<FFI>(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_compareNAToCSV<FFI>(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.