📄 angr_02.cc
字号:
return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // test the set feature method // if (!angr_03.setFeature(newid_00, feat_00, value_00)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.setFeature(newid_00, feat_01, value_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.setFeature(newid_01, feat_02, value_02)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.setFeature(newid_01, feat_03, value_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // test the exists feature method // if (!angr_03.existsFeature(newid_00, feat_00)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_00, feat_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_01, feat_02)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_01, feat_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // test the delete feature method // if (!angr_03.deleteFeature(newid_00, feat_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.deleteFeature(newid_01, feat_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_00, feat_00)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (angr_03.existsFeature(newid_00, feat_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_01, feat_02)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (angr_03.existsFeature(newid_01, feat_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.setFeature(newid_00, feat_01, value_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.setFeature(newid_01, feat_03, value_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // test the get feature method // if (!angr_03.getFeature(newid_00, feat_00).eq(value_00)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getFeature(newid_00, feat_01).eq(value_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getFeature(newid_01, feat_02).eq(value_02)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getFeature(newid_01, feat_03).eq(value_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // test the get feature names method // Vector<String> fnames; if (!angr_03.getFeatureNames(newid_00, fnames)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (fnames.length() != 2) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!fnames.contains(&feat_00)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!fnames.contains(&feat_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getFeatureNames(newid_01, fnames)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (fnames.length() != 2) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!fnames.contains(&feat_02)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!fnames.contains(&feat_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // test the unset features method // if (!angr_03.unsetFeatures(newid_00)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.unsetFeatures(newid_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getFeature(newid_00, feat_00).eq(String::EMPTY)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getFeature(newid_00, feat_01).eq(String::EMPTY)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getFeature(newid_01, feat_02).eq(String::EMPTY)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getFeature(newid_01, feat_03).eq(String::EMPTY)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // set the set feature method // if (!angr_03.setFeature(anno_06, feat_00, value_00)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.setFeature(anno_06, feat_01, value_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.setFeature(anno_07, feat_02, value_02)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.setFeature(anno_07, feat_03, value_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_00, feat_00)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_00, feat_01)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_01, feat_02)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.existsFeature(newid_01, feat_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // test the get annotation set by feature-value pair method // if (!angr_03.getAnnotationSetByFeature(feat_00, value_00, anno_list)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (anno_list.length() != 1) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (anno_list.getFirst() != (Annotation*)anno_06) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getAnnotationSetByFeature(feat_01, value_01, anno_list)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (anno_list.length() != 1) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (anno_list.getFirst() != (Annotation*)anno_06) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getAnnotationSetByFeature(feat_02, value_02, anno_list)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (anno_list.length() != 1) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (anno_list.getFirst() != (Annotation*)anno_07) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.getAnnotationSetByFeature(feat_03, value_03, anno_list)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (anno_list.length() != 1) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (anno_list.getFirst() != (Annotation*)anno_07) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // test the assign and copy constructor methods // AnnotationGraph angr_06; AnnotationGraph angr_07(angr_03); angr_06.assign(angr_03); if (!angr_06.eq(angr_07)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.eq(angr_06)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_03.eq(angr_07)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // delete annotations // angr_06.getAnnotationSet(anno_list); for (boolean more = anno_list.gotoFirst(); more; more = anno_list.gotoNext()) { angr_06.deleteAnnotation(anno_list.getCurr()); } // clear the dynamically allocated anchors // angr_06.getAnchorSet(anchor_list); for (boolean more = anchor_list.gotoFirst(); more; more = anchor_list.gotoNext()) { angr_06.deleteAnchor(anchor_list.getCurr()); } // delete annotations // angr_07.getAnnotationSet(anno_list); for (boolean more = anno_list.gotoFirst(); more; more = anno_list.gotoNext()) { angr_07.deleteAnnotation(anno_list.getCurr()); } // clear the dynamically allocated anchors // angr_07.getAnchorSet(anchor_list); for (boolean more = anchor_list.gotoFirst(); more; more = anchor_list.gotoNext()) { angr_07.deleteAnchor(anchor_list.getCurr()); } // reset indentation // if (level_a > Integral::NONE) { Console::decreaseIndention(); } //--------------------------------------------------------------------- // // 2. test the i/o methods // //--------------------------------------------------------------------- // set indentation // if (level_a > Integral::NONE) { Console::put(L"testing i/o methods...\n"); Console::increaseIndention(); } // test the i/o methods // String gname_04(L"AG2"); String gname_05(L"AG3"); String gtype_05(L"SWB4"); String gtype_06(L"SWB5"); AnnotationGraph angr_04(gname_04, gtype_05); AnnotationGraph angr_05(gname_05, gtype_06); // we need binary and text sof files // String tmp_filename0; Integral::makeTemp(tmp_filename0); String tmp_filename1; Integral::makeTemp(tmp_filename1); // open files in write mode // Sof tmp_file0; tmp_file0.open(tmp_filename0, File::WRITE_ONLY, File::TEXT); Sof tmp_file1; tmp_file1.open(tmp_filename1, File::WRITE_ONLY, File::BINARY); angr_03.write(tmp_file0, 0); angr_03.write(tmp_file1, 0); // close the files // tmp_file0.close(); tmp_file1.close(); // open the files in read mode // tmp_file0.open(tmp_filename0); tmp_file1.open(tmp_filename1); // read the anchor from the text/binary files // angr_04.read(tmp_file0, 0); angr_05.read(tmp_file1, 0); // close and delete the temporary files // tmp_file0.close(); tmp_file1.close(); if (!angr_04.eq(angr_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } if (!angr_05.eq(angr_03)) { return Error::handle(name(), L"diagnose", Error::TEST, __FILE__, __LINE__); } // delete annotations // angr_03.getAnnotationSet(anno_list); for (boolean more = anno_list.gotoFirst(); more; more = anno_list.gotoNext()) { angr_03.deleteAnnotation(anno_list.getCurr()); } // clear the dynamically allocated anchors // angr_03.getAnchorSet(anchor_list); for (boolean more = anchor_list.gotoFirst(); more; more = anchor_list.gotoNext()) { angr_03.deleteAnchor(anchor_list.getCurr()); } // delete annotations // angr_04.getAnnotationSet(anno_list); for (boolean more = anno_list.gotoFirst(); more; more = anno_list.gotoNext()) { angr_04.deleteAnnotation(anno_list.getCurr()); } // clear the dynamically allocated anchors // angr_04.getAnchorSet(anchor_list); for (boolean more = anchor_list.gotoFirst(); more; more = anchor_list.gotoNext()) { angr_04.deleteAnchor(anchor_list.getCurr()); } // delete annotations // angr_05.getAnnotationSet(anno_list); for (boolean more = anno_list.gotoFirst(); more; more = anno_list.gotoNext()) { angr_05.deleteAnnotation(anno_list.getCurr()); } // clear the dynamically allocated anchors // angr_05.getAnchorSet(anchor_list); for (boolean more = anchor_list.gotoFirst(); more; more = anchor_list.gotoNext()) { angr_05.deleteAnchor(anchor_list.getCurr()); } // reset indentation // if (level_a > Integral::NONE) { Console::decreaseIndention(); } //--------------------------------------------------------------------- // // 3. print completion message // //--------------------------------------------------------------------- // reset indentation // if (level_a > Integral::NONE) { Console::decreaseIndention(); } if (level_a > Integral::NONE) { SysString output(L"diagnostics passed for class "); output.concat(name()); output.concat(L"\n"); Console::put(output); } // exit gracefully // return true;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -