Esempio n. 1
0
    def test_system_changing_field_name(self):
        path1 = self.get_temporary_file_path('foo1.nc')
        path2 = self.get_temporary_file_path('foo2.nc')

        vc1 = VariableCollection(name='vc1')
        var1 = Variable('var1', value=[1, 2, 3], dimensions='three', parent=vc1)

        vc2 = VariableCollection(name='vc2')
        vc1.add_child(vc2)
        var2 = Variable('var2', value=[4, 5, 6, 7], dimensions='four', parent=vc2)

        vc1.write(path1)

        rd = RequestDataset(path1)
        # rd.inspect()
        nvc = rd.create_raw_field()
        nvc2 = nvc.children['vc2']
        self.assertIsNone(nvc2['var2']._value)
        self.assertEqual(nvc2.name, 'vc2')
        nvc2.set_name('extraordinary')
        self.assertIsNotNone(nvc2['var2'].get_value())
        self.assertEqual(nvc2['var2'].get_value().tolist(), [4, 5, 6, 7])

        nvc.write(path2)
        rd2 = RequestDataset(path2)
        # rd2.inspect()
        n2vc = rd2.create_raw_field()
        self.assertEqual(n2vc.children[nvc2.name].name, nvc2.name)
Esempio n. 2
0
 def test_init(self):
     path = self.get_temporary_file_path('foo.nc')
     with self.nc_scope(path, 'w') as ds:
         ds.createDimension('a', 2)
     rd = RequestDataset(uri=path, driver='netcdf')
     self.assertIsInstance(rd.driver, DriverNetcdf)
     vc = rd.create_raw_field()
     self.assertEqual(len(vc), 0)
Esempio n. 3
0
 def test_open(self):
     # Test with a multi-file dataset.
     path1 = self.get_temporary_file_path('foo1.nc')
     path2 = self.get_temporary_file_path('foo2.nc')
     for idx, path in enumerate([path1, path2]):
         with self.nc_scope(path, 'w', format='NETCDF4_CLASSIC') as ds:
             ds.createDimension('a', None)
             b = ds.createVariable('b', np.int32, ('a',))
             b[:] = idx
     uri = [path1, path2]
     rd = RequestDataset(uri=uri, driver=DriverNetcdf)
     field = rd.create_raw_field()
     self.assertEqual(field['b'].get_value().tolist(), [0, 1])
Esempio n. 4
0
    def test(self):
        path = self.get_path_to_template_csv()
        path_out = self.get_temporary_file_path('foo_out.csv')

        rd = RequestDataset(uri=path)
        vc = rd.create_raw_field()

        for v in list(vc.values()):
            self.assertIsNotNone(v.get_value())

        field = rd.get()
        self.assertIsInstance(field, Field)

        field.write(path_out, driver=DriverCSV)

        self.assertCSVFilesEqual(path, path_out)