public bool TestVarGeneric() { NcFile file = null; try { file = TestHelper.NewFile(filePath); NcDim dim1 = file.AddDim("dim1", 5); NcVar testVar = file.AddVar("var1", "double", "dim1"); Assert.False(testVar.IsNull()); testVar = file.AddVar("var2", NcDouble.Instance, dim1); Assert.False(testVar.IsNull()); testVar = file.AddVar("var3", "double", new List <string>() { "dim1" }); Assert.False(testVar.IsNull()); testVar = file.AddVar("var4", NcDouble.Instance, new List <NcDim>() { dim1 }); Assert.False(testVar.IsNull()); } finally { file.Close(); } CheckDelete(filePath); return(true); }
public bool TestGetCoordVars() { NcFile file = null; try { file = TestHelper.NewFile(filePath); NcDim dim1 = file.AddDim("time", 20); NcDim dim2 = file.AddDim("hdg", 20); NcVar var1 = file.AddVar("time", NcDouble.Instance, dim1); Assert.False(var1.IsNull()); NcVar var2 = file.AddVar("hdg", NcDouble.Instance, dim2); Assert.False(var2.IsNull()); NcVar var3 = file.AddVar("alt", NcDouble.Instance, new List <NcDim>() { dim1, dim2 }); Assert.False(var3.IsNull()); Dictionary <string, NcGroup> coordVars = file.GetCoordVars(); Assert.True(coordVars.ContainsKey("time") && coordVars["time"].GetId() == file.GetId()); Assert.True(coordVars.ContainsKey("hdg") && coordVars["hdg"].GetId() == file.GetId()); Assert.False(coordVars.ContainsKey("alt")); } finally { file.Close(); } CheckDelete(filePath); return(true); }
public bool TestNestedGroups() { NcFile file = null; NcDim dim; Dictionary <string, NcGroup> groups; try { file = TestHelper.NewFile(filePath); NcGroup a = file.AddGroup("a"); Assert.False(a.IsNull()); NcGroup b = file.AddGroup("b"); Assert.False(b.IsNull()); NcGroup a1 = a.AddGroup("a1"); Assert.False(a1.IsNull()); NcGroup a2 = a.AddGroup("a2"); Assert.False(a2.IsNull()); NcGroup b1 = b.AddGroup("b1"); Assert.False(b1.IsNull()); NcGroup b2 = b.AddGroup("b2"); Assert.False(b2.IsNull()); Assert.Equals(file.GetGroupCount(GroupLocation.AllGrps), 7); Assert.Equals(file.GetGroupCount(GroupLocation.AllChildrenGrps), 6); Assert.Equals(b2.GetGroupCount(GroupLocation.ParentsGrps), 2); Assert.Equals(a2.GetGroupCount(GroupLocation.ParentsGrps), 2); Assert.True(file.GetGroups(GroupLocation.AllChildrenGrps).ContainsKey("b1")); groups = a1.GetGroups(GroupLocation.ParentsGrps); Assert.True(groups.ContainsKey("/") && groups["/"].GetId() == file.GetId()); Assert.Equals(file.GetGroups("b1", GroupLocation.AllChildrenGrps).Count, 1); Assert.True(file.GetGroup("a2", GroupLocation.ChildrenGrps).IsNull()); Assert.Equals(file.GetGroup("a2", GroupLocation.AllChildrenGrps).GetId(), a2.GetId()); Assert.True(file.IsRootGroup()); Assert.False(a.IsRootGroup()); foreach (KeyValuePair <string, NcGroup> group in file.GetGroups(GroupLocation.AllGrps)) { dim = group.Value.AddDim("time" + (group.Value.IsRootGroup() ? "Root" : group.Key), 20); NcVar v = group.Value.AddVar("time" + (group.Value.IsRootGroup() ? "Root" : group.Key), NcUint64.Instance, dim); NcAtt att = group.Value.PutAtt("Attr" + (group.Value.IsRootGroup() ? "Root" : group.Key), "Value"); Assert.False(v.IsNull()); Assert.Equals(file.GetVar(v.GetName(), Location.All).GetId(), v.GetId()); } Assert.Equals(file.GetVarCount(Location.All), 7); Assert.Equals(file.GetVars(Location.All).Count, 7); foreach (KeyValuePair <string, NcVar> gvar in file.GetVars(Location.All)) { Assert.Equals(gvar.Key, gvar.Value.GetName()); NcGroup g = gvar.Value.GetParentGroup(); Assert.Equals(gvar.Key, "time" + (g.IsRootGroup() ? "Root" : g.GetName())); } Assert.Equals(file.GetVars("timeRoot", Location.All).Count, 1); Assert.Equals(file.GetAttCount(Location.All), 7); Assert.Equals(file.GetAtts(Location.All).Count, 7); foreach (KeyValuePair <string, NcGroupAtt> k in file.GetAtts(Location.All)) { Assert.Equals(k.Value.GetValues(), "Value"); } } finally { file.Close(); } CheckDelete(filePath); return(true); }