| #!/usr/bin/python -S | |
| """ | |
| task_spec_test.py: Tests for task_spec.py | |
| """ | |
| import cStringIO | |
| import unittest | |
| import task_spec # module under test | |
| class TaskSpecTest(unittest.TestCase): | |
| def testCountReports(self): | |
| f = cStringIO.StringIO("""\ | |
| 1,2 | |
| 3,4 | |
| 5,6 | |
| """) | |
| c = task_spec.CountReports(f) | |
| self.assertEqual(9, c) | |
| def testDist(self): | |
| # NOTE: These files are opened, in order to count the reports. Maybe skip | |
| # that step. | |
| f = cStringIO.StringIO("""\ | |
| _tmp/counts/2015-12-01/exp_counts.csv | |
| _tmp/counts/2015-12-01/gauss_counts.csv | |
| _tmp/counts/2015-12-02/exp_counts.csv | |
| _tmp/counts/2015-12-02/gauss_counts.csv | |
| """) | |
| input_iter = task_spec.DistInputIter(f) | |
| #for row in input_iter: | |
| # print row | |
| field_id_lookup = {} | |
| # var name -> map filename | |
| f = cStringIO.StringIO("""\ | |
| var,map_filename | |
| exp,map.csv | |
| unif,map.csv | |
| gauss,map.csv | |
| """) | |
| dist_maps = task_spec.DistMapLookup(f, '_tmp/maps') | |
| f2 = cStringIO.StringIO("""\ | |
| metric,var,var_type,params | |
| exp,,string,params | |
| unif,,string,params | |
| gauss,,string,params | |
| """) | |
| var_schema = task_spec.VarSchema(f2, '_tmp/config') | |
| for row in task_spec.DistTaskSpec( | |
| input_iter, field_id_lookup, var_schema, dist_maps, None): | |
| print row | |
| if __name__ == '__main__': | |
| unittest.main() |