netcdf-cxx4/cxx4/test_att.cpp
2022-02-23 15:23:59 +00:00

835 lines
68 KiB
C++

// Purpose: Converts ida3 format xma data to netcdf4
// Usage: xma2netcdf <shot number>
#include <iostream>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <netcdf>
#include <iomanip>
#include "test_utilities.h"
using namespace std;
using namespace netCDF;
using namespace netCDF::exceptions;
int main()
{
try
{
cout<<"Opening file \"firstFile.cdf\" with NcFile::replace"<<endl;
NcFile ncFile("firstFile.cdf",NcFile::replace);
cout<<left<<setw(55)<<"Testing addGroup(\"groupName\")";
NcGroup groupA(ncFile.addGroup("groupA"));
NcGroup groupA0(ncFile.addGroup("groupA0"));
NcGroup groupB(groupA.addGroup("groupB"));
NcGroup groupC(groupA.addGroup("groupC"));
cout <<" ----------- passed\n";
cout <<left<<setw(55)<<"Testing putAtt(\"attName\",\"typeName\",len,dataValues)";
vector<string> b1(10);
vector<unsigned char *> b2(10);
vector<signed char*> b3(10);
vector<short> a1(10);
vector<int> a2(10);
vector<float> a3(10);
vector<double> a4(10);
vector<unsigned short> a5(10);
vector<unsigned int> a6(10);
vector<long long> a7(10);
vector<unsigned long long> a8(10);
vector<double> a9(10);
initializeVector(a1);
initializeVector(a2);
initializeVector(a3);
initializeVector(a4);
initializeVector(a5);
initializeVector(a6);
initializeVector(a7);
initializeVector(a8);
initializeVector(a9);
NcGroupAtt attA1_1 = ncFile.putAtt("att1_1",ncByte,size_t(10), &a1[0]);
NcGroupAtt attA2_1 = ncFile.putAtt("att2_1",ncUbyte,size_t(10), &a1[0]);
NcGroupAtt attA3_1 = ncFile.putAtt("att3_1",ncShort,size_t(10), &a1[0]);
NcGroupAtt attA5_1 = ncFile.putAtt("att5_1",ncUshort,size_t(10), &a1[0]);
NcGroupAtt attA6_1 = ncFile.putAtt("att6_1",ncInt,size_t(10), &a1[0]);
NcGroupAtt attA7_1 = ncFile.putAtt("att7_1",ncUint,size_t(10), &a1[0]);
NcGroupAtt attA8_1 = ncFile.putAtt("att8_1",ncInt64,size_t(10), &a1[0]);
NcGroupAtt attA9_1 = ncFile.putAtt("att9_1",ncUint64,size_t(10), &a1[0]);
NcGroupAtt attA10_1 = ncFile.putAtt("att10_1",ncFloat,size_t(10), &a1[0]);
NcGroupAtt attA11_1 = ncFile.putAtt("att11_1",ncDouble,size_t(10), &a1[0]);
NcGroupAtt attA1_2 = ncFile.putAtt("att1_2",ncByte,size_t(10), &a2[0]);
NcGroupAtt attA2_2 = ncFile.putAtt("att2_2",ncUbyte,size_t(10), &a2[0]);
NcGroupAtt attA3_2 = ncFile.putAtt("att3_2",ncShort,size_t(10), &a2[0]);
NcGroupAtt attA5_2 = ncFile.putAtt("att5_2",ncUshort,size_t(10), &a2[0]);
NcGroupAtt attA6_2 = ncFile.putAtt("att6_2",ncInt,size_t(10), &a2[0]);
NcGroupAtt attA7_2 = ncFile.putAtt("att7_2",ncUint,size_t(10), &a2[0]);
NcGroupAtt attA8_2 = ncFile.putAtt("att8_2",ncInt64,size_t(10), &a2[0]);
NcGroupAtt attA9_2 = ncFile.putAtt("att9_2",ncUint64,size_t(10), &a2[0]);
NcGroupAtt attA10_2 = ncFile.putAtt("att10_2",ncFloat,size_t(10), &a2[0]);
NcGroupAtt attA11_2 = ncFile.putAtt("att11_2",ncDouble,size_t(10), &a2[0]);
NcGroupAtt attA1_3 = ncFile.putAtt("att1_3",ncByte,size_t(10), &a3[0]);
NcGroupAtt attA2_3 = ncFile.putAtt("att2_3",ncUbyte,size_t(10), &a3[0]);
NcGroupAtt attA3_3 = ncFile.putAtt("att3_3",ncShort,size_t(10), &a3[0]);
NcGroupAtt attA5_3 = ncFile.putAtt("att5_3",ncUshort,size_t(10), &a3[0]);
NcGroupAtt attA6_3 = ncFile.putAtt("att6_3",ncInt,size_t(10), &a3[0]);
NcGroupAtt attA7_3 = ncFile.putAtt("att7_3",ncUint,size_t(10), &a3[0]);
NcGroupAtt attA8_3 = ncFile.putAtt("att8_3",ncInt64,size_t(10), &a3[0]);
NcGroupAtt attA9_3 = ncFile.putAtt("att9_3",ncUint64,size_t(10), &a3[0]);
NcGroupAtt attA10_3 = ncFile.putAtt("att10_3",ncFloat,size_t(10), &a3[0]);
NcGroupAtt attA11_3 = ncFile.putAtt("att11_3",ncDouble,size_t(10), &a3[0]);
NcGroupAtt attA1_4 = ncFile.putAtt("att1_4",ncByte,size_t(10), &a4[0]);
NcGroupAtt attA2_4 = ncFile.putAtt("att2_4",ncUbyte,size_t(10), &a4[0]);
NcGroupAtt attA3_4 = ncFile.putAtt("att3_4",ncShort,size_t(10), &a4[0]);
NcGroupAtt attA5_4 = ncFile.putAtt("att5_4",ncUshort,size_t(10), &a4[0]);
NcGroupAtt attA6_4 = ncFile.putAtt("att6_4",ncInt,size_t(10), &a4[0]);
NcGroupAtt attA7_4 = ncFile.putAtt("att7_4",ncUint,size_t(10), &a4[0]);
NcGroupAtt attA8_4 = ncFile.putAtt("att8_4",ncInt64,size_t(10), &a4[0]);
NcGroupAtt attA9_4 = ncFile.putAtt("att9_4",ncUint64,size_t(10), &a4[0]);
NcGroupAtt attA10_4 = ncFile.putAtt("att10_4",ncFloat,size_t(10), &a4[0]);
NcGroupAtt attA11_4 = ncFile.putAtt("att11_4",ncDouble,size_t(10), &a4[0]);
NcGroupAtt attA1_5 = ncFile.putAtt("att1_5",ncByte,size_t(10), &a5[0]);
NcGroupAtt attA2_5 = ncFile.putAtt("att2_5",ncUbyte,size_t(10), &a5[0]);
NcGroupAtt attA3_5 = ncFile.putAtt("att3_5",ncShort,size_t(10), &a5[0]);
NcGroupAtt attA5_5 = ncFile.putAtt("att5_5",ncUshort,size_t(10), &a5[0]);
NcGroupAtt attA6_5 = ncFile.putAtt("att6_5",ncInt,size_t(10), &a5[0]);
NcGroupAtt attA7_5 = ncFile.putAtt("att7_5",ncUint,size_t(10), &a5[0]);
NcGroupAtt attA8_5 = ncFile.putAtt("att8_5",ncInt64,size_t(10), &a5[0]);
NcGroupAtt attA9_5 = ncFile.putAtt("att9_5",ncUint64,size_t(10), &a5[0]);
NcGroupAtt attA10_5 = ncFile.putAtt("att10_5",ncFloat,size_t(10), &a5[0]);
NcGroupAtt attA11_5 = ncFile.putAtt("att11_5",ncDouble,size_t(10), &a5[0]);
NcGroupAtt attA1_6 = ncFile.putAtt("att1_6",ncByte,size_t(10), &a6[0]);
NcGroupAtt attA2_6 = ncFile.putAtt("att2_6",ncUbyte,size_t(10), &a6[0]);
NcGroupAtt attA3_6 = ncFile.putAtt("att3_6",ncShort,size_t(10), &a6[0]);
NcGroupAtt attA5_6 = ncFile.putAtt("att5_6",ncUshort,size_t(10), &a6[0]);
NcGroupAtt attA6_6 = ncFile.putAtt("att6_6",ncInt,size_t(10), &a6[0]);
NcGroupAtt attA7_6 = ncFile.putAtt("att7_6",ncUint,size_t(10), &a6[0]);
NcGroupAtt attA8_6 = ncFile.putAtt("att8_6",ncInt64,size_t(10), &a6[0]);
NcGroupAtt attA9_6 = ncFile.putAtt("att9_6",ncUint64,size_t(10), &a6[0]);
NcGroupAtt attA10_6 = ncFile.putAtt("att10_6",ncFloat,size_t(10), &a6[0]);
NcGroupAtt attA11_6 = ncFile.putAtt("att11_6",ncDouble,size_t(10), &a6[0]);
NcGroupAtt attA1_7 = ncFile.putAtt("att1_7",ncByte,size_t(10), &a7[0]);
NcGroupAtt attA2_7 = ncFile.putAtt("att2_7",ncUbyte,size_t(10), &a7[0]);
NcGroupAtt attA3_7 = ncFile.putAtt("att3_7",ncShort,size_t(10), &a7[0]);
NcGroupAtt attA5_7 = ncFile.putAtt("att5_7",ncUshort,size_t(10), &a7[0]);
NcGroupAtt attA6_7 = ncFile.putAtt("att6_7",ncInt,size_t(10), &a7[0]);
NcGroupAtt attA7_7 = ncFile.putAtt("att7_7",ncUint,size_t(10), &a7[0]);
NcGroupAtt attA8_7 = ncFile.putAtt("att8_7",ncInt64,size_t(10), &a7[0]);
NcGroupAtt attA9_7 = ncFile.putAtt("att9_7",ncUint64,size_t(10), &a7[0]);
NcGroupAtt attA10_7 = ncFile.putAtt("att10_7",ncFloat,size_t(10), &a7[0]);
NcGroupAtt attA11_7 = ncFile.putAtt("att11_7",ncDouble,size_t(10), &a7[0]);
NcGroupAtt attA1_8 = ncFile.putAtt("att1_8",ncByte,size_t(10), &a8[0]);
NcGroupAtt attA2_8 = ncFile.putAtt("att2_8",ncUbyte,size_t(10), &a8[0]);
NcGroupAtt attA3_8 = ncFile.putAtt("att3_8",ncShort,size_t(10), &a8[0]);
NcGroupAtt attA5_8 = ncFile.putAtt("att5_8",ncUshort,size_t(10), &a8[0]);
NcGroupAtt attA6_8 = ncFile.putAtt("att6_8",ncInt,size_t(10), &a8[0]);
NcGroupAtt attA7_8 = ncFile.putAtt("att7_8",ncUint,size_t(10), &a8[0]);
NcGroupAtt attA8_8 = ncFile.putAtt("att8_8",ncInt64,size_t(10), &a8[0]);
NcGroupAtt attA9_8 = ncFile.putAtt("att9_8",ncUint64,size_t(10), &a8[0]);
NcGroupAtt attA10_8 = ncFile.putAtt("att10_8",ncFloat,size_t(10), &a8[0]);
NcGroupAtt attA11_8 = ncFile.putAtt("att11_8",ncDouble,size_t(10), &a8[0]);
NcGroupAtt attA1_9 = ncFile.putAtt("att1_9",ncByte,size_t(10), &a9[0]);
NcGroupAtt attA2_9 = ncFile.putAtt("att2_9",ncUbyte,size_t(10), &a9[0]);
NcGroupAtt attA3_9 = ncFile.putAtt("att3_9",ncShort,size_t(10), &a9[0]);
NcGroupAtt attA5_9 = ncFile.putAtt("att5_9",ncUshort,size_t(10), &a9[0]);
NcGroupAtt attA6_9 = ncFile.putAtt("att6_9",ncInt,size_t(10), &a9[0]);
NcGroupAtt attA7_9 = ncFile.putAtt("att7_9",ncUint,size_t(10), &a9[0]);
NcGroupAtt attA8_9 = ncFile.putAtt("att8_9",ncInt64,size_t(10), &a9[0]);
NcGroupAtt attA9_9 = ncFile.putAtt("att9_9",ncUint64,size_t(10), &a9[0]);
NcGroupAtt attA10_9 = ncFile.putAtt("att10_9",ncFloat,size_t(10), &a9[0]);
NcGroupAtt attA11_9 = ncFile.putAtt("att11_9",ncDouble,size_t(10), &a9[0]);
const string b("abc");
NcGroupAtt att4 = ncFile.putAtt("att4",ncChar,size_t(2), b.c_str());
const char* c(b.c_str());
NcGroupAtt att12 = ncFile.putAtt("att12",ncString,size_t(1), &c);
string stringName("A Text string Attribute");
NcGroupAtt att12a = ncFile.putAtt("att12a",stringName);
NcGroupAtt att_A1 = groupA0.putAtt("att_A1",ncByte,size_t(10), &a9[0]);
NcGroupAtt att_A2 = groupA0.putAtt("att_A2",ncUbyte,size_t(10), &a9[0]);
NcGroupAtt att_A01 = groupA.putAtt("att_A01",ncByte,size_t(10), &a9[0]);
NcGroupAtt att_A02 = groupA.putAtt("att_A02",ncUbyte,size_t(10), &a9[0]);
NcGroupAtt att_A03 = groupA.putAtt("att_A03",ncShort,size_t(10), &a9[0]);
NcGroupAtt att_B1 = groupB.putAtt("att_B1",ncByte,size_t(10), &a9[0]);
NcGroupAtt att_B2 = groupB.putAtt("att_B2",ncUbyte,size_t(10), &a9[0]);
NcGroupAtt att_B3 = groupB.putAtt("att_B3",ncShort,size_t(10), &a9[0]);
NcGroupAtt att_B4 = groupB.putAtt("att_B4",ncUshort,size_t(10), &a9[0]);
NcGroupAtt att_C1 = groupC.putAtt("att_C1",ncByte,size_t(10), &a9[0]);
NcGroupAtt att_C2 = groupC.putAtt("att_C2",ncUbyte,size_t(10), &a9[0]);
NcGroupAtt att_C3 = groupC.putAtt("att_C3",ncShort,size_t(10), &a9[0]);
NcGroupAtt att_C4 = groupC.putAtt("att_C4",ncUshort,size_t(10), &a9[0]);
NcGroupAtt att_C5 = groupC.putAtt("att_C5",ncInt,size_t(10), &a9[0]);
cout <<" ----------- passed\n";
cout <<left<<setw(55)<<"Testing getAttLength()";
if(att_C1.getAttLength() != 10) throw NcException("Error in test 2.1",__FILE__,__LINE__);
cout <<" ----------- passed\n";
cout <<left<<setw(55)<<"Testing getName()";
if(att_C1.getName() != "att_C1") throw NcException("Error in test 3.1",__FILE__,__LINE__);
cout <<" ----------- passed\n";
cout <<left<<setw(55)<<"Testing getType()";
if(att_C1.getType() != ncByte) throw NcException("Error in test 4.1",__FILE__,__LINE__);
cout <<" ----------- passed\n";
cout <<left<<setw(55)<<"Testing getParentGroup()";
if(att_C1.getParentGroup() != groupC) throw NcException("Error in test 5.1",__FILE__,__LINE__);
cout <<" ----------- passed\n";
cout <<left<<setw(55)<<"Testing getValues()";
vector<double> atest(10);
att_C1.getValues(&atest[0]);
if(atest != a9) throw NcException("Error in test 6.1",__FILE__,__LINE__);
cout <<" ----------- passed\n";
cout <<left<<setw(55)<<"Testing attCount([netCDF::Location])";
if(ncFile.getAttCount() != 93) throw NcException("Error in test 7.1",__FILE__,__LINE__);
if(ncFile.getAttCount(NcGroup::Current) != 93) throw NcException("Error in test 7.2",__FILE__,__LINE__);
if(ncFile.getAttCount(NcGroup::Parents) != 0) throw NcException("Error in test 7.3",__FILE__,__LINE__);
if(ncFile.getAttCount(NcGroup::Children) != 14) throw NcException("Error in test 7.4",__FILE__,__LINE__);
if(ncFile.getAttCount(NcGroup::ParentsAndCurrent) != 93) throw NcException("Error in test 7.5",__FILE__,__LINE__);
if(ncFile.getAttCount(NcGroup::ChildrenAndCurrent) !=107)throw NcException("Error in test 7.6",__FILE__,__LINE__);
if(ncFile.getAttCount(NcGroup::All) != 107) throw NcException("Error in test 7.7",__FILE__,__LINE__);
if(groupB.getAttCount() != 4) throw NcException("Error in test 7.8",__FILE__,__LINE__);
if(groupB.getAttCount(NcGroup::Current) != 4) throw NcException("Error in test 7.9",__FILE__,__LINE__);
if(groupB.getAttCount(NcGroup::Parents) != 96) throw NcException("Error in test 7.10",__FILE__,__LINE__);
if(groupB.getAttCount(NcGroup::Children) != 0) throw NcException("Error in test 7.11",__FILE__,__LINE__);
if(groupB.getAttCount(NcGroup::ParentsAndCurrent) != 100) throw NcException("Error in test 7.12",__FILE__,__LINE__);
if(groupB.getAttCount(NcGroup::ChildrenAndCurrent) != 4) throw NcException("Error in test 7.13",__FILE__,__LINE__);
if(groupB.getAttCount(NcGroup::All) != 100) throw NcException("Error in test 7.14",__FILE__,__LINE__);
if(groupA0.getAttCount() != 2) throw NcException("Error in test 7.15",__FILE__,__LINE__);
if(groupA0.getAttCount(NcGroup::Current) != 2) throw NcException("Error in test 7.16",__FILE__,__LINE__);
if(groupA0.getAttCount(NcGroup::Parents) != 93) throw NcException("Error in test 7.17",__FILE__,__LINE__);
if(groupA0.getAttCount(NcGroup::Children) != 0) throw NcException("Error in test 7.18",__FILE__,__LINE__);
if(groupA0.getAttCount(NcGroup::ParentsAndCurrent) != 95)throw NcException("Error in test 7.19",__FILE__,__LINE__);
if(groupA0.getAttCount(NcGroup::ChildrenAndCurrent) != 2)throw NcException("Error in test 7.20",__FILE__,__LINE__);
if(groupA0.getAttCount(NcGroup::All) != 95) throw NcException("Error in test 7.21",__FILE__,__LINE__);
if(groupA.getAttCount() != 3) throw NcException("Error in test 7.15",__FILE__,__LINE__);
if(groupA.getAttCount(NcGroup::Current) != 3) throw NcException("Error in test 7.16",__FILE__,__LINE__);
if(groupA.getAttCount(NcGroup::Parents) != 93) throw NcException("Error in test 7.17",__FILE__,__LINE__);
if(groupA.getAttCount(NcGroup::Children) != 9) throw NcException("Error in test 7.18",__FILE__,__LINE__);
if(groupA.getAttCount(NcGroup::ParentsAndCurrent) != 96) throw NcException("Error in test 7.19",__FILE__,__LINE__);
if(groupA.getAttCount(NcGroup::ChildrenAndCurrent) !=12) throw NcException("Error in test 7.20",__FILE__,__LINE__);
if(groupA.getAttCount(NcGroup::All) != 105) throw NcException("Error in test 7.21",__FILE__,__LINE__);
cout <<" ----------- passed\n";
{
cout <<left<<setw(55)<<"Testing getAtts([netCDF::Location])";
multimap<string,NcGroupAtt> groupMap;
multimap<string,NcGroupAtt>::iterator iter;
groupMap = ncFile.getAtts();
if(groupMap.size() != 93) throw NcException("Error in test 8.1",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.2",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.3",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.4",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.5",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.6",__FILE__,__LINE__);
groupMap = ncFile.getAtts(NcGroup::Current);
if(groupMap.size() != 93) throw NcException("Error in test 8.7",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.8",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.9",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.10",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.11",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.12",__FILE__,__LINE__);
groupMap = ncFile.getAtts(NcGroup::Parents);
if(groupMap.size() != 0) throw NcException("Error in test 8.13",__FILE__,__LINE__);
groupMap = ncFile.getAtts(NcGroup::Children);
if(groupMap.size() != 14) throw NcException("Error in test 8.14",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.15",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.16",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter == groupMap.end()) throw NcException("Error in test 8.17",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.18",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter == groupMap.end()) throw NcException("Error in test 8.19",__FILE__,__LINE__);
groupMap = ncFile.getAtts(NcGroup::ParentsAndCurrent);
if(groupMap.size() != 93) throw NcException("Error in test 8.20",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.21",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.22",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.23",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.24",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.25",__FILE__,__LINE__);
groupMap = ncFile.getAtts(NcGroup::ChildrenAndCurrent);
if(groupMap.size() != 107) throw NcException("Error in test 8.26",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.27",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.28",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter == groupMap.end()) throw NcException("Error in test 8.29",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.30",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter == groupMap.end()) throw NcException("Error in test 8.31",__FILE__,__LINE__);
groupMap = ncFile.getAtts(NcGroup::All);
if(groupMap.size() != 107) throw NcException("Error in test 8.32",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.33",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.34",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter == groupMap.end()) throw NcException("Error in test 8.35",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.36",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter == groupMap.end()) throw NcException("Error in test 8.37",__FILE__,__LINE__);
//group A now
groupMap = groupA.getAtts();
if(groupMap.size() != 3) throw NcException("Error in test 8.38",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.39",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.40",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.41",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.42",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.43",__FILE__,__LINE__);
groupMap = groupA.getAtts(NcGroup::Current);
if(groupMap.size() != 3) throw NcException("Error in test 8.44",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.45",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.46",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.47",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.48",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.49",__FILE__,__LINE__);
groupMap = groupA.getAtts(NcGroup::Parents);
if(groupMap.size() != 93) throw NcException("Error in test 8.50",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.51",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.52",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.53",__FILE__,__LINE__);
iter=groupMap.find("att_b3"); if( iter != groupMap.end()) throw NcException("Error in test 8.54",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.55",__FILE__,__LINE__);
groupMap = groupA.getAtts(NcGroup::Children);
if(groupMap.size() != 9) throw NcException("Error in test 8.56",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.57",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.58",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.59",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.60",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter == groupMap.end()) throw NcException("Error in test 8.61",__FILE__,__LINE__);
groupMap = groupA.getAtts(NcGroup::ParentsAndCurrent);
if(groupMap.size() != 96) throw NcException("Error in test 8.62",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.63",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.64",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.65",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.66",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.67",__FILE__,__LINE__);
groupMap = groupA.getAtts(NcGroup::ChildrenAndCurrent);
if(groupMap.size() != 12) throw NcException("Error in test 8.68",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.69",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.70",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.71",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.72",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter == groupMap.end()) throw NcException("Error in test 8.73",__FILE__,__LINE__);
groupMap = groupA.getAtts(NcGroup::All);
if(groupMap.size() != 105) throw NcException("Error in test 8.74",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.75",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.76",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.77",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.78",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter == groupMap.end()) throw NcException("Error in test 8.79",__FILE__,__LINE__);
// group A0 now
groupMap = groupA0.getAtts();
if(groupMap.size() != 2) throw NcException("Error in test 8.80",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.81",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.82",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter == groupMap.end()) throw NcException("Error in test 8.83",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.84",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.85",__FILE__,__LINE__);
groupMap = groupA0.getAtts(NcGroup::Current);
if(groupMap.size() != 2) throw NcException("Error in test 8.86",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.87",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.88",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter == groupMap.end()) throw NcException("Error in test 8.89",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.90",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.91",__FILE__,__LINE__);
groupMap = groupA0.getAtts(NcGroup::Parents);
if(groupMap.size() != 93) throw NcException("Error in test 8.92",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.93",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.94",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.95",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.96",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.97",__FILE__,__LINE__);
groupMap = groupA0.getAtts(NcGroup::Children);
if(groupMap.size() != 0) throw NcException("Error in test 8.98",__FILE__,__LINE__);
groupMap = groupA0.getAtts(NcGroup::ParentsAndCurrent);
if(groupMap.size() != 95) throw NcException("Error in test 8.99",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.100",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.101",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter == groupMap.end()) throw NcException("Error in test 8.102",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.103",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.104",__FILE__,__LINE__);
groupMap = groupA0.getAtts(NcGroup::ChildrenAndCurrent);
if(groupMap.size() != 2) throw NcException("Error in test 8.105",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.106",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.107",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter == groupMap.end()) throw NcException("Error in test 8.108",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.109",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.110",__FILE__,__LINE__);
groupMap = groupA0.getAtts(NcGroup::All);
if(groupMap.size() != 95) throw NcException("Error in test 8.111",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.112",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.113",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter == groupMap.end()) throw NcException("Error in test 8.114",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.115",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.116",__FILE__,__LINE__);
// now for groupB
groupMap = groupB.getAtts();
if(groupMap.size() != 4) throw NcException("Error in test 8.117",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.118",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.119",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.120",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.121",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.122",__FILE__,__LINE__);
groupMap = groupB.getAtts(NcGroup::Current);
if(groupMap.size() != 4) throw NcException("Error in test 8.123",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.124",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.125",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.126",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.127",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.128",__FILE__,__LINE__);
groupMap = groupB.getAtts(NcGroup::Parents);
if(groupMap.size() != 96) throw NcException("Error in test 8.129",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.130",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.131",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.132",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter != groupMap.end()) throw NcException("Error in test 8.133",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.134",__FILE__,__LINE__);
groupMap = groupB.getAtts(NcGroup::Children);
if(groupMap.size() != 0) throw NcException("Error in test 8.135",__FILE__,__LINE__);
groupMap = groupB.getAtts(NcGroup::ParentsAndCurrent);
if(groupMap.size() != 100) throw NcException("Error in test 8.136",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.137",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.138",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.139",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.140",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.141",__FILE__,__LINE__);
groupMap = groupB.getAtts(NcGroup::ChildrenAndCurrent);
if(groupMap.size() != 4) throw NcException("Error in test 8.142",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter != groupMap.end()) throw NcException("Error in test 8.143",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter != groupMap.end()) throw NcException("Error in test 8.144",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.145",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.146",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.147",__FILE__,__LINE__);
groupMap = groupB.getAtts(NcGroup::All);
if(groupMap.size() != 100) throw NcException("Error in test 8.148",__FILE__,__LINE__);
iter=groupMap.find("att1_7"); if( iter == groupMap.end()) throw NcException("Error in test 8.149",__FILE__,__LINE__);
iter=groupMap.find("att_A01"); if( iter == groupMap.end()) throw NcException("Error in test 8.150",__FILE__,__LINE__);
iter=groupMap.find("att_A1"); if( iter != groupMap.end()) throw NcException("Error in test 8.151",__FILE__,__LINE__);
iter=groupMap.find("att_B3"); if( iter == groupMap.end()) throw NcException("Error in test 8.152",__FILE__,__LINE__);
iter=groupMap.find("att_C1"); if( iter != groupMap.end()) throw NcException("Error in test 8.153",__FILE__,__LINE__);
cout <<" ----------- passed\n";
}
cout <<left<<setw(55)<<"Testing getAtt(\"name\",[netCDF::Location])";
if(ncFile.getAtt("att1_7") != attA1_7) throw NcException("Error in test 9.1",__FILE__,__LINE__);
if(ncFile.getAtt("att1_7",NcGroup::Current) != attA1_7) throw NcException("Error in test 9.2",__FILE__,__LINE__);
if(!ncFile.getAtt("att1_7",NcGroup::Parents).isNull()) throw NcException("Error in test 9.3",__FILE__,__LINE__);
if(!ncFile.getAtt("att1_7",NcGroup::Children).isNull()) throw NcException("Error in test 9.4",__FILE__,__LINE__);
if(ncFile.getAtt("att1_7",NcGroup::ParentsAndCurrent) != attA1_7) throw NcException("Error in test 9.5",__FILE__,__LINE__);
if(ncFile.getAtt("att1_7",NcGroup::ChildrenAndCurrent)!= attA1_7) throw NcException("Error in test 9.6",__FILE__,__LINE__);
if(ncFile.getAtt("att1_7",NcGroup::All) != attA1_7) throw NcException("Error in test 9.7",__FILE__,__LINE__);
if(!ncFile.getAtt("att_A01").isNull()) throw NcException("Error in test 9.8",__FILE__,__LINE__);
if(!ncFile.getAtt("att_A01",NcGroup::Current).isNull()) throw NcException("Error in test 9.9",__FILE__,__LINE__);
if(!ncFile.getAtt("att_A01",NcGroup::Parents).isNull()) throw NcException("Error in test 9.10",__FILE__,__LINE__);
if(ncFile.getAtt("att_A01",NcGroup::Children) != att_A01) throw NcException("Error in test 9.11",__FILE__,__LINE__);
if(!ncFile.getAtt("att_A01",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.12",__FILE__,__LINE__);
if(ncFile.getAtt("att_A01",NcGroup::ChildrenAndCurrent) != att_A01)throw NcException("Error in test 9.13",__FILE__,__LINE__);
if(ncFile.getAtt("att_A01",NcGroup::All) != att_A01) throw NcException("Error in test 9.14",__FILE__,__LINE__);
if(!ncFile.getAtt("att_A1").isNull()) throw NcException("Error in test 9.15",__FILE__,__LINE__);
if(!ncFile.getAtt("att_A1",NcGroup::Current).isNull()) throw NcException("Error in test 9.16",__FILE__,__LINE__);
if(!ncFile.getAtt("att_A1",NcGroup::Parents).isNull()) throw NcException("Error in test 9.17",__FILE__,__LINE__);
if(ncFile.getAtt("att_A1",NcGroup::Children) != att_A1) throw NcException("Error in test 9.18",__FILE__,__LINE__);
if(!ncFile.getAtt("att_A1",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.19",__FILE__,__LINE__);
if(ncFile.getAtt("att_A1",NcGroup::ChildrenAndCurrent) != att_A1)throw NcException("Error in test 9.20",__FILE__,__LINE__);
if(ncFile.getAtt("att_A1",NcGroup::All) != att_A1) throw NcException("Error in test 9.21",__FILE__,__LINE__);
if(!ncFile.getAtt("att_B3").isNull()) throw NcException("Error in test 9.22",__FILE__,__LINE__);
if(!ncFile.getAtt("att_B3",NcGroup::Current).isNull()) throw NcException("Error in test 9.23",__FILE__,__LINE__);
if(!ncFile.getAtt("att_B3",NcGroup::Parents).isNull()) throw NcException("Error in test 9.24",__FILE__,__LINE__);
if(ncFile.getAtt("att_B3",NcGroup::Children) != att_B3) throw NcException("Error in test 9.25",__FILE__,__LINE__);
if(!ncFile.getAtt("att_B3",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.26",__FILE__,__LINE__);
if(ncFile.getAtt("att_B3",NcGroup::ChildrenAndCurrent) != att_B3)throw NcException("Error in test 9.27",__FILE__,__LINE__);
if(ncFile.getAtt("att_B3",NcGroup::All) != att_B3) throw NcException("Error in test 9.28",__FILE__,__LINE__);
if(!ncFile.getAtt("att_C1").isNull()) throw NcException("Error in test 9.29",__FILE__,__LINE__);
if(!ncFile.getAtt("att_C1",NcGroup::Current).isNull()) throw NcException("Error in test 9.30",__FILE__,__LINE__);
if(!ncFile.getAtt("att_C1",NcGroup::Parents).isNull()) throw NcException("Error in test 9.31",__FILE__,__LINE__);
if(ncFile.getAtt("att_C1",NcGroup::Children) != att_C1) throw NcException("Error in test 9.32",__FILE__,__LINE__);
if(!ncFile.getAtt("att_C1",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.33",__FILE__,__LINE__);
if(ncFile.getAtt("att_C1",NcGroup::ChildrenAndCurrent) != att_C1)throw NcException("Error in test 9.34",__FILE__,__LINE__);
if(ncFile.getAtt("att_C1",NcGroup::All) != att_C1) throw NcException("Error in test 9.35",__FILE__,__LINE__);
// now for next group
if(!groupA0.getAtt("att1_7").isNull()) throw NcException("Error in test 9.36",__FILE__,__LINE__);
if(!groupA0.getAtt("att1_7",NcGroup::Current).isNull()) throw NcException("Error in test 9.37",__FILE__,__LINE__);
if(groupA0.getAtt("att1_7",NcGroup::Parents) != attA1_7) throw NcException("Error in test 9.38",__FILE__,__LINE__);
if(!groupA0.getAtt("att1_7",NcGroup::Children).isNull()) throw NcException("Error in test 9.39",__FILE__,__LINE__);
if(groupA0.getAtt("att1_7",NcGroup::ParentsAndCurrent) != attA1_7) throw NcException("Error in test 9.40",__FILE__,__LINE__);
if(!groupA0.getAtt("att1_7",NcGroup::ChildrenAndCurrent).isNull()) throw NcException("Error in test 9.41",__FILE__,__LINE__);
if(groupA0.getAtt("att1_7",NcGroup::All) != attA1_7) throw NcException("Error in test 9.42",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A01").isNull()) throw NcException("Error in test 9.43",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A01",NcGroup::Current).isNull()) throw NcException("Error in test 9.44",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A01",NcGroup::Parents).isNull()) throw NcException("Error in test 9.45",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A01",NcGroup::Children).isNull()) throw NcException("Error in test 9.46",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A01",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.47",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A01",NcGroup::ChildrenAndCurrent).isNull())throw NcException("Error in test 9.48",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A01",NcGroup::All).isNull()) throw NcException("Error in test 9.49",__FILE__,__LINE__);
if(groupA0.getAtt("att_A1") != att_A1) throw NcException("Error in test 9.50",__FILE__,__LINE__);
if(groupA0.getAtt("att_A1",NcGroup::Current) != att_A1) throw NcException("Error in test 9.51",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A1",NcGroup::Parents).isNull()) throw NcException("Error in test 9.52",__FILE__,__LINE__);
if(!groupA0.getAtt("att_A1",NcGroup::Children).isNull()) throw NcException("Error in test 9.53",__FILE__,__LINE__);
if(groupA0.getAtt("att_A1",NcGroup::ParentsAndCurrent) != att_A1)throw NcException("Error in test 9.54",__FILE__,__LINE__);
if(groupA0.getAtt("att_A1",NcGroup::ChildrenAndCurrent)!= att_A1) throw NcException("Error in test 9.55",__FILE__,__LINE__);
if(groupA0.getAtt("att_A1",NcGroup::All) != att_A1) throw NcException("Error in test 9.56",__FILE__,__LINE__);
if(!groupA0.getAtt("att_B3").isNull()) throw NcException("Error in test 9.57",__FILE__,__LINE__);
if(!groupA0.getAtt("att_B3",NcGroup::Current).isNull()) throw NcException("Error in test 9.58",__FILE__,__LINE__);
if(!groupA0.getAtt("att_B3",NcGroup::Parents).isNull()) throw NcException("Error in test 9.59",__FILE__,__LINE__);
if(!groupA0.getAtt("att_B3",NcGroup::Children).isNull()) throw NcException("Error in test 9.60",__FILE__,__LINE__);
if(!groupA0.getAtt("att_B3",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.61",__FILE__,__LINE__);
if(!groupA0.getAtt("att_B3",NcGroup::ChildrenAndCurrent).isNull())throw NcException("Error in test 9.62",__FILE__,__LINE__);
if(!groupA0.getAtt("att_B3",NcGroup::All).isNull()) throw NcException("Error in test 9.63",__FILE__,__LINE__);
if(!groupA0.getAtt("att_C1").isNull()) throw NcException("Error in test 9.64",__FILE__,__LINE__);
if(!groupA0.getAtt("att_C1",NcGroup::Current).isNull()) throw NcException("Error in test 9.65",__FILE__,__LINE__);
if(!groupA0.getAtt("att_C1",NcGroup::Parents).isNull()) throw NcException("Error in test 9.66",__FILE__,__LINE__);
if(!groupA0.getAtt("att_C1",NcGroup::Children).isNull()) throw NcException("Error in test 9.67",__FILE__,__LINE__);
if(!groupA0.getAtt("att_C1",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.68",__FILE__,__LINE__);
if(!groupA0.getAtt("att_C1",NcGroup::ChildrenAndCurrent).isNull())throw NcException("Error in test 9.69",__FILE__,__LINE__);
if(!groupA0.getAtt("att_C1",NcGroup::All).isNull()) throw NcException("Error in test 9.70",__FILE__,__LINE__);
// now for next group
if(!groupA.getAtt("att1_7").isNull()) throw NcException("Error in test 9.71",__FILE__,__LINE__);
if(!groupA.getAtt("att1_7",NcGroup::Current).isNull()) throw NcException("Error in test 9.72",__FILE__,__LINE__);
if(groupA.getAtt("att1_7",NcGroup::Parents) != attA1_7) throw NcException("Error in test 9.73",__FILE__,__LINE__);
if(!groupA.getAtt("att1_7",NcGroup::Children).isNull()) throw NcException("Error in test 9.74",__FILE__,__LINE__);
if(groupA.getAtt("att1_7",NcGroup::ParentsAndCurrent) != attA1_7) throw NcException("Error in test 9.75",__FILE__,__LINE__);
if(!groupA.getAtt("att1_7",NcGroup::ChildrenAndCurrent).isNull()) throw NcException("Error in test 9.76",__FILE__,__LINE__);
if(groupA.getAtt("att1_7",NcGroup::All) != attA1_7) throw NcException("Error in test 9.77",__FILE__,__LINE__);
if(groupA.getAtt("att_A01") != att_A01) throw NcException("Error in test 9.78",__FILE__,__LINE__);
if(groupA.getAtt("att_A01",NcGroup::Current) != att_A01) throw NcException("Error in test 9.79",__FILE__,__LINE__);
if(!groupA.getAtt("att_A01",NcGroup::Parents).isNull()) throw NcException("Error in test 9.80",__FILE__,__LINE__);
if(!groupA.getAtt("att_A01",NcGroup::Children).isNull()) throw NcException("Error in test 9.81",__FILE__,__LINE__);
if(groupA.getAtt("att_A01",NcGroup::ParentsAndCurrent) != att_A01)throw NcException("Error in test 9.82",__FILE__,__LINE__);
if(groupA.getAtt("att_A01",NcGroup::ChildrenAndCurrent) != att_A01)throw NcException("Error in test 9.83",__FILE__,__LINE__);
if(groupA.getAtt("att_A01",NcGroup::All) != att_A01) throw NcException("Error in test 9.84",__FILE__,__LINE__);
if(!groupA.getAtt("att_A1").isNull()) throw NcException("Error in test 9.85",__FILE__,__LINE__);
if(!groupA.getAtt("att_A1",NcGroup::Current).isNull()) throw NcException("Error in test 9.86",__FILE__,__LINE__);
if(!groupA.getAtt("att_A1",NcGroup::Parents).isNull()) throw NcException("Error in test 9.87",__FILE__,__LINE__);
if(!groupA.getAtt("att_A1",NcGroup::Children).isNull()) throw NcException("Error in test 9.88",__FILE__,__LINE__);
if(!groupA.getAtt("att_A1",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.89",__FILE__,__LINE__);
if(!groupA.getAtt("att_A1",NcGroup::ChildrenAndCurrent).isNull())throw NcException("Error in test 9.90",__FILE__,__LINE__);
if(!groupA.getAtt("att_A1",NcGroup::All).isNull()) throw NcException("Error in test 9.91",__FILE__,__LINE__);
if(!groupA.getAtt("att_B3").isNull()) throw NcException("Error in test 9.92",__FILE__,__LINE__);
if(!groupA.getAtt("att_B3",NcGroup::Current).isNull()) throw NcException("Error in test 9.93",__FILE__,__LINE__);
if(!groupA.getAtt("att_B3",NcGroup::Parents).isNull()) throw NcException("Error in test 9.94",__FILE__,__LINE__);
if(groupA.getAtt("att_B3",NcGroup::Children) != att_B3) throw NcException("Error in test 9.95",__FILE__,__LINE__);
if(!groupA.getAtt("att_B3",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.96",__FILE__,__LINE__);
if(groupA.getAtt("att_B3",NcGroup::ChildrenAndCurrent) != att_B3)throw NcException("Error in test 9.97",__FILE__,__LINE__);
if(groupA.getAtt("att_B3",NcGroup::All) != att_B3) throw NcException("Error in test 9.98",__FILE__,__LINE__);
if(!groupA.getAtt("att_C1").isNull()) throw NcException("Error in test 9.99",__FILE__,__LINE__);
if(!groupA.getAtt("att_C1",NcGroup::Current).isNull()) throw NcException("Error in test 9.100",__FILE__,__LINE__);
if(!groupA.getAtt("att_C1",NcGroup::Parents).isNull()) throw NcException("Error in test 9.101",__FILE__,__LINE__);
if(groupA.getAtt("att_C1",NcGroup::Children) != att_C1) throw NcException("Error in test 9.102",__FILE__,__LINE__);
if(!groupA.getAtt("att_C1",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.103",__FILE__,__LINE__);
if(groupA.getAtt("att_C1",NcGroup::ChildrenAndCurrent) != att_C1)throw NcException("Error in test 9.104",__FILE__,__LINE__);
if(groupA.getAtt("att_C1",NcGroup::All) != att_C1) throw NcException("Error in test 9.105",__FILE__,__LINE__);
// now for next group
if(!groupB.getAtt("att1_7").isNull()) throw NcException("Error in test 9.106",__FILE__,__LINE__);
if(!groupB.getAtt("att1_7",NcGroup::Current).isNull()) throw NcException("Error in test 9.107",__FILE__,__LINE__);
if(groupB.getAtt("att1_7",NcGroup::Parents) != attA1_7) throw NcException("Error in test 9.108",__FILE__,__LINE__);
if(!groupB.getAtt("att1_7",NcGroup::Children).isNull()) throw NcException("Error in test 9.109",__FILE__,__LINE__);
if(groupB.getAtt("att1_7",NcGroup::ParentsAndCurrent) != attA1_7) throw NcException("Error in test 9.110",__FILE__,__LINE__);
if(!groupB.getAtt("att1_7",NcGroup::ChildrenAndCurrent).isNull()) throw NcException("Error in test 9.111",__FILE__,__LINE__);
if(groupB.getAtt("att1_7",NcGroup::All) != attA1_7) throw NcException("Error in test 9.112",__FILE__,__LINE__);
if(!groupB.getAtt("att_A01").isNull()) throw NcException("Error in test 9.113",__FILE__,__LINE__);
if(!groupB.getAtt("att_A01",NcGroup::Current).isNull()) throw NcException("Error in test 9.114",__FILE__,__LINE__);
if(groupB.getAtt("att_A01",NcGroup::Parents) != att_A01) throw NcException("Error in test 9.115",__FILE__,__LINE__);
if(!groupB.getAtt("att_A01",NcGroup::Children).isNull()) throw NcException("Error in test 9.116",__FILE__,__LINE__);
if(groupB.getAtt("att_A01",NcGroup::ParentsAndCurrent) != att_A01) throw NcException("Error in test 9.117",__FILE__,__LINE__);
if(!groupB.getAtt("att_A01",NcGroup::ChildrenAndCurrent).isNull())throw NcException("Error in test 9.118",__FILE__,__LINE__);
if(groupB.getAtt("att_A01",NcGroup::All) != att_A01) throw NcException("Error in test 9.119",__FILE__,__LINE__);
if(!groupB.getAtt("att_A1").isNull()) throw NcException("Error in test 9.120",__FILE__,__LINE__);
if(!groupB.getAtt("att_A1",NcGroup::Current).isNull()) throw NcException("Error in test 9.121",__FILE__,__LINE__);
if(!groupB.getAtt("att_A1",NcGroup::Parents).isNull()) throw NcException("Error in test 9.122",__FILE__,__LINE__);
if(!groupB.getAtt("att_A1",NcGroup::Children).isNull()) throw NcException("Error in test 9.123",__FILE__,__LINE__);
if(!groupB.getAtt("att_A1",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.124",__FILE__,__LINE__);
if(!groupB.getAtt("att_A1",NcGroup::ChildrenAndCurrent).isNull())throw NcException("Error in test 9.125",__FILE__,__LINE__);
if(!groupB.getAtt("att_A1",NcGroup::All).isNull()) throw NcException("Error in test 9.126",__FILE__,__LINE__);
if(groupB.getAtt("att_B3") != att_B3) throw NcException("Error in test 9.127",__FILE__,__LINE__);
if(groupB.getAtt("att_B3",NcGroup::Current) != att_B3) throw NcException("Error in test 9.128",__FILE__,__LINE__);
if(!groupB.getAtt("att_B3",NcGroup::Parents).isNull()) throw NcException("Error in test 9.129",__FILE__,__LINE__);
if(!groupB.getAtt("att_B3",NcGroup::Children).isNull()) throw NcException("Error in test 9.130",__FILE__,__LINE__);
if(groupB.getAtt("att_B3",NcGroup::ParentsAndCurrent) != att_B3) throw NcException("Error in test 9.131",__FILE__,__LINE__);
if(groupB.getAtt("att_B3",NcGroup::ChildrenAndCurrent) != att_B3)throw NcException("Error in test 9.132",__FILE__,__LINE__);
if(groupB.getAtt("att_B3",NcGroup::All) != att_B3) throw NcException("Error in test 9.133",__FILE__,__LINE__);
if(!groupB.getAtt("att_C1").isNull()) throw NcException("Error in test 9.134",__FILE__,__LINE__);
if(!groupB.getAtt("att_C1",NcGroup::Current).isNull()) throw NcException("Error in test 9.135",__FILE__,__LINE__);
if(!groupB.getAtt("att_C1",NcGroup::Parents).isNull()) throw NcException("Error in test 9.136",__FILE__,__LINE__);
if(!groupB.getAtt("att_C1",NcGroup::Children).isNull()) throw NcException("Error in test 9.137",__FILE__,__LINE__);
if(!groupB.getAtt("att_C1",NcGroup::ParentsAndCurrent).isNull()) throw NcException("Error in test 9.138",__FILE__,__LINE__);
if(!groupB.getAtt("att_C1",NcGroup::ChildrenAndCurrent).isNull())throw NcException("Error in test 9.139",__FILE__,__LINE__);
if(!groupB.getAtt("att_C1",NcGroup::All).isNull()) throw NcException("Error in test 9.140",__FILE__,__LINE__);
cout <<" ----------- passed\n";
{
cout <<left<<setw(55)<<"Testing getAtts(\"name\",[netCDF::Location])";
set<NcGroupAtt> groupSet;
set<NcGroupAtt>::iterator iter;
groupSet = ncFile.getAtts("att1_7");
if(groupSet.size() != 1) throw NcException("Error in test 10.1",__FILE__,__LINE__);
iter=groupSet.find(attA1_7); if( iter == groupSet.end()) throw NcException("Error in test 10.2",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A01");
if(groupSet.size() != 0) throw NcException("Error in test 10.3",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A1");
if(groupSet.size() != 0) throw NcException("Error in test 10.4",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_B3");
if(groupSet.size() != 0) throw NcException("Error in test 10.5",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_C1");
if(groupSet.size() != 0) throw NcException("Error in test 10.6",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att1_7",NcGroup::Current);
if(groupSet.size() != 1) throw NcException("Error in test 10.7",__FILE__,__LINE__);
iter=groupSet.find(attA1_7); if( iter == groupSet.end()) throw NcException("Error in test 10.8",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A01",NcGroup::Current);
if(groupSet.size() != 0) throw NcException("Error in test 10.9",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A1",NcGroup::Current);
if(groupSet.size() != 0) throw NcException("Error in test 10.10",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_B3",NcGroup::Current);
if(groupSet.size() != 0) throw NcException("Error in test 10.11",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_C1",NcGroup::Current);
if(groupSet.size() != 0) throw NcException("Error in test 10.12",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att1_7",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.13",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A01",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.14",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A1",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.15",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_B3",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.16",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_C1",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.17",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att1_7",NcGroup::Children);
if(groupSet.size() != 0) throw NcException("Error in test 10.18",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A01",NcGroup::Children);
if(groupSet.size() != 1) throw NcException("Error in test 10.19",__FILE__,__LINE__);
iter=groupSet.find(att_A01); if( iter == groupSet.end()) throw NcException("Error in test 10.20",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A1",NcGroup::Children);
if(groupSet.size() != 1) throw NcException("Error in test 10.21",__FILE__,__LINE__);
iter=groupSet.find(att_A1); if( iter == groupSet.end()) throw NcException("Error in test 10.20",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_B3",NcGroup::Children);
if(groupSet.size() != 1) throw NcException("Error in test 10.22",__FILE__,__LINE__);
iter=groupSet.find(att_B3); if( iter == groupSet.end()) throw NcException("Error in test 10.20",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_C1",NcGroup::Children);
if(groupSet.size() != 1) throw NcException("Error in test 10.23",__FILE__,__LINE__);
iter=groupSet.find(att_C1); if( iter == groupSet.end()) throw NcException("Error in test 10.20",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att1_7",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.24",__FILE__,__LINE__);
iter=groupSet.find(attA1_7); if( iter == groupSet.end()) throw NcException("Error in test 10.25",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A01",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.26",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A1",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.27",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_B3",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.28",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_C1",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.29",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att1_7",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.30",__FILE__,__LINE__);
iter=groupSet.find(attA1_7); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A01",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.32",__FILE__,__LINE__);
iter=groupSet.find(att_A01); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A1",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.33",__FILE__,__LINE__);
iter=groupSet.find(att_A1); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_B3",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.34",__FILE__,__LINE__);
iter=groupSet.find(att_B3); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_C1",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.35",__FILE__,__LINE__);
iter=groupSet.find(att_C1); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att1_7",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.36",__FILE__,__LINE__);
iter=groupSet.find(attA1_7); if( iter == groupSet.end()) throw NcException("Error in test 10.37",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A01",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.38",__FILE__,__LINE__);
iter=groupSet.find(att_A01); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_A1",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.39",__FILE__,__LINE__);
iter=groupSet.find(att_A1); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_B3",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.40",__FILE__,__LINE__);
iter=groupSet.find(att_B3); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = ncFile.getAtts("att_C1",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.41",__FILE__,__LINE__);
iter=groupSet.find(att_C1); if( iter == groupSet.end()) throw NcException("Error in test 10.31",__FILE__,__LINE__);
groupSet = groupA.getAtts("att1_7");
if(groupSet.size() != 0) throw NcException("Error in test 10.42",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A01");
if(groupSet.size() != 1) throw NcException("Error in test 10.43",__FILE__,__LINE__);
iter=groupSet.find(att_A01); if( iter == groupSet.end()) throw NcException("Error in test 10.44",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A1");
if(groupSet.size() != 0) throw NcException("Error in test 10.45",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_B3");
if(groupSet.size() != 0) throw NcException("Error in test 10.46",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_C1");
if(groupSet.size() != 0) throw NcException("Error in test 10.47",__FILE__,__LINE__);
groupSet = groupA.getAtts("att1_7",NcGroup::Current);
if(groupSet.size() != 0) throw NcException("Error in test 10.48",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A01",NcGroup::Current);
if(groupSet.size() != 1) throw NcException("Error in test 10.49",__FILE__,__LINE__);
iter=groupSet.find(att_A01); if( iter == groupSet.end()) throw NcException("Error in test 10.50",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A1",NcGroup::Current);
if(groupSet.size() != 0) throw NcException("Error in test 10.51",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_B3",NcGroup::Current);
if(groupSet.size() != 0) throw NcException("Error in test 10.52",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_C1",NcGroup::Current);
if(groupSet.size() != 0) throw NcException("Error in test 10.53",__FILE__,__LINE__);
groupSet = groupA.getAtts("att1_7",NcGroup::Parents);
if(groupSet.size() != 1) throw NcException("Error in test 10.54",__FILE__,__LINE__);
iter=groupSet.find(attA1_7); if( iter == groupSet.end()) throw NcException("Error in test 10.55",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A01",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.56",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A1",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.57",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_B3",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.58",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_C1",NcGroup::Parents);
if(groupSet.size() != 0) throw NcException("Error in test 10.59",__FILE__,__LINE__);
groupSet = groupA.getAtts("att1_7",NcGroup::Children);
if(groupSet.size() != 0) throw NcException("Error in test 10.60",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A01",NcGroup::Children);
if(groupSet.size() != 0) throw NcException("Error in test 10.61",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A1",NcGroup::Children);
if(groupSet.size() != 0) throw NcException("Error in test 10.62",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_B3",NcGroup::Children);
if(groupSet.size() != 1) throw NcException("Error in test 10.63",__FILE__,__LINE__);
iter=groupSet.find(att_B3); if( iter == groupSet.end()) throw NcException("Error in test 10.64",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_C1",NcGroup::Children);
if(groupSet.size() != 1) throw NcException("Error in test 10.65",__FILE__,__LINE__);
iter=groupSet.find(att_C1); if( iter == groupSet.end()) throw NcException("Error in test 10.66",__FILE__,__LINE__);
groupSet = groupA.getAtts("att1_7",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.67",__FILE__,__LINE__);
iter=groupSet.find(attA1_7); if( iter == groupSet.end()) throw NcException("Error in test 10.68",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A01",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.69",__FILE__,__LINE__);
iter=groupSet.find(att_A01); if( iter == groupSet.end()) throw NcException("Error in test 10.70",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A1",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.71",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_B3",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.72",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_C1",NcGroup::ParentsAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.73",__FILE__,__LINE__);
groupSet = groupA.getAtts("att1_7",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.74",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A01",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.75",__FILE__,__LINE__);
iter=groupSet.find(att_A01); if( iter == groupSet.end()) throw NcException("Error in test 10.76",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A1",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 0) throw NcException("Error in test 10.77",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_B3",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.78",__FILE__,__LINE__);
iter=groupSet.find(att_B3); if( iter == groupSet.end()) throw NcException("Error in test 10.79",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_C1",NcGroup::ChildrenAndCurrent);
if(groupSet.size() != 1) throw NcException("Error in test 10.80",__FILE__,__LINE__);
iter=groupSet.find(att_C1); if( iter == groupSet.end()) throw NcException("Error in test 10.81",__FILE__,__LINE__);
groupSet = groupA.getAtts("att1_7",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.82",__FILE__,__LINE__);
iter=groupSet.find(attA1_7); if( iter == groupSet.end()) throw NcException("Error in test 10.83",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A01",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.84",__FILE__,__LINE__);
iter=groupSet.find(att_A01); if( iter == groupSet.end()) throw NcException("Error in test 10.85",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_A1",NcGroup::All);
if(groupSet.size() != 0) throw NcException("Error in test 10.86",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_B3",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.87",__FILE__,__LINE__);
iter=groupSet.find(att_B3); if( iter == groupSet.end()) throw NcException("Error in test 10.88",__FILE__,__LINE__);
groupSet = groupA.getAtts("att_C1",NcGroup::All);
if(groupSet.size() != 1) throw NcException("Error in test 10.89",__FILE__,__LINE__);
iter=groupSet.find(att_C1); if( iter == groupSet.end()) throw NcException("Error in test 10.90",__FILE__,__LINE__);
cout <<" ----------- passed\n";
return 0;
}
}
catch (NcException& e)
{
cout << e.what() << endl;
return EXIT_FAILURE;
}
}