@@ -13,15 +13,19 @@ def _fattrs(f):
13
13
f .rdf__type = 'bald__Container'
14
14
return f
15
15
16
- # def _create_parent_child(f, pshape, cshape):
17
- # dsetp = f.create_dataset("parent_dataset", pshape, dtype='i')
18
- # dsetc = f.create_dataset("child_dataset", cshape, dtype='i')
19
- # dsetp.attrs['rdf__type'] = 'bald__Dataset'
20
- # dsetp.attrs['bald__references'] = dsetc.ref
21
- # dsetc.attrs['rdf__type'] = 'bald__Dataset'
22
- # dsetc.attrs['rdf__type'] = 'bald__Reference'
23
- # dsetc.attrs['bald__dataset'] = dsetc.ref
24
- # return f
16
+ def _create_parent_child (f , pshape , cshape ):
17
+ for i , pdimsize in enumerate (pshape ):
18
+ f .createDimension ("pdim{}" .format (str (i )), pdimsize )
19
+ for i , cdimsize in enumerate (cshape ):
20
+ f .createDimension ("cdim{}" .format (str (i )), cdimsize )
21
+ varp = f .createVariable ("parent_variable" , 'i4' , tuple (["pdim{}" .format (str (i )) for i , _ in enumerate (pshape )]))
22
+ varc = f .createVariable ("child_variable" , 'i4' , tuple (["cdim{}" .format (str (i )) for i , _ in enumerate (cshape )]))
23
+ varp .rdf__type = 'bald__Array'
24
+ varp .bald__references = "child_variable"
25
+ varc .rdf__type = 'bald__Array'
26
+ varc .rdf__type = 'bald__Reference'
27
+ varc .bald__array = "child_variable"
28
+ return f
25
29
26
30
27
31
class Test (BaldTestCase ):
@@ -45,25 +49,25 @@ def test_invalid_uri(self):
45
49
validation = bald .validate_netcdf (tfile )
46
50
self .assertFalse (validation .is_valid ())
47
51
48
- # class TestArrayReference(BaldTestCase):
49
- # def test_match(self):
50
- # with self.temp_filename('.nc') as tfile:
51
- # f = netCDF4.Dataset(tfile, "w", format="NETCDF4")
52
- # f = _fattrs(f)
53
- # f = _create_parent_child(f, (11, 17), (11, 17))
54
- # f.close()
55
- # validation = bald.validate_netcdf(tfile)
56
- # self.assertTrue(validation.is_valid())
57
-
58
- # def test_mismatch_zeroth(self):
59
- # with self.temp_filename('.nc') as tfile:
60
- # f = netCDF4.Dataset(tfile, "w", format="NETCDF4")
61
- # f = _fattrs(f)
62
- # f = _create_parent_child(f, (11, 17), (11, 13))
63
- # f.close()
64
- # validation = bald.validate_netcdf(tfile)
65
- # self.assertFalse(validation.is_valid())
66
52
53
+ class TestArrayReference (BaldTestCase ):
54
+ def test_match (self ):
55
+ with self .temp_filename ('.nc' ) as tfile :
56
+ f = netCDF4 .Dataset (tfile , "w" , format = "NETCDF4" )
57
+ f = _fattrs (f )
58
+ f = _create_parent_child (f , (11 , 17 ), (11 , 17 ))
59
+ f .close ()
60
+ validation = bald .validate_netcdf (tfile )
61
+ self .assertTrue (validation .is_valid ())
62
+
63
+ def test_mismatch_zeroth (self ):
64
+ with self .temp_filename ('.nc' ) as tfile :
65
+ f = netCDF4 .Dataset (tfile , "w" , format = "NETCDF4" )
66
+ f = _fattrs (f )
67
+ f = _create_parent_child (f , (11 , 17 ), (11 , 13 ))
68
+ f .close ()
69
+ validation = bald .validate_netcdf (tfile )
70
+ self .assertFalse (validation .is_valid ())
67
71
68
72
69
73
if __name__ == '__main__' :
0 commit comments