📄 simple-test.cc
字号:
state_good = false; contains->get_edges (30, edges, edge_iterator); if (!CORBA::is_nil (edge_iterator)) { if (edge_iterator->next_one (edge)) state_good = false; edge_iterator->destroy (); } else state_good = false; if (state_good) cout << "ok.\n"; else cout <<"failed.\n"; cout << "Checking EdgeIterator::next_n () ..." << flush; contains->get_edges (0, edges, edge_iterator); if (!CORBA::is_nil (edge_iterator)) { edge_iterator->next_n (1, edges); tmp_obr = Documents::Figure::_narrow (CosCompoundExternalization::Node::_narrow ((*edges)[0].relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr3->name ()) != 0) state_good = false; edge_iterator->next_one (edge); edge_iterator->next_one (edge); if (edge_iterator->next_one (edge)) state_good = false; edge_iterator->destroy (); } else state_good = false; contains->get_edges (0, edges, edge_iterator); if (!CORBA::is_nil (edge_iterator)) { edge_iterator->next_n (3, edges); tmp_obr = Documents::Figure::_narrow (CosCompoundExternalization::Node::_narrow ((*edges)[0].relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr3->name ()) != 0) state_good = false; tmp_obr = Documents::Figure::_narrow (CosCompoundExternalization::Node::_narrow ((*edges)[1].relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr1->name ()) != 0) state_good = false; tmp_obr = Documents::Figure::_narrow (CosCompoundExternalization::Node::_narrow ((*edges)[2].relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr2->name ()) != 0) state_good = false; if (edge_iterator->next_one (edge)) state_good = false; edge_iterator->destroy (); } else state_good = false; contains->get_edges (0, edges, edge_iterator); if (!CORBA::is_nil (edge_iterator)) { edge_iterator->next_n (30, edges); tmp_obr = Documents::Figure::_narrow (CosCompoundExternalization::Node::_narrow ((*edges)[0].relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr3->name ()) != 0) state_good = false; tmp_obr = Documents::Figure::_narrow (CosCompoundExternalization::Node::_narrow ((*edges)[1].relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr1->name ()) != 0) state_good = false; tmp_obr = Documents::Figure::_narrow (CosCompoundExternalization::Node::_narrow ((*edges)[2].relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr2->name ()) != 0) state_good = false; if (edge_iterator->next_one (edge)) state_good = false; edge_iterator->destroy (); } else state_good = false; contains->get_edges (0, edges, edge_iterator); if (!CORBA::is_nil (edge_iterator)) { edge_iterator->next_n (0, edges); if (!edge_iterator->next_one (edge)) state_good = false; if (!edge_iterator->next_one (edge)) state_good = false; if (!edge_iterator->next_one (edge)) state_good = false; if (edge_iterator->next_one (edge)) state_good = false; edge_iterator->destroy (); } else state_good = false; if (state_good) cout << "ok.\n"; else cout <<"failed.\n"; state_good = true; cout << "Checking TraversalFactory_impl::create_traversal_on () ..." << flush; CosGraphs::TraversalCriteria_ptr criteria = criteria_factory->create_for_externalize(); if (CORBA::is_nil (criteria)) state_good = false; CosGraphs::NodeHandle node_text_handle; CosGraphs::Traversal::ScopedEdge* scoped_edge; node_text_handle.the_node = CosCompoundExternalization::Node::_duplicate (node_text); node_text_handle.constant_random_id = node_text->constant_random_id (); CosGraphs::Traversal_ptr traversal = traversal_factory->create_traversal_on //(node_text_handle, criteria, CosGraphs::breadthFirst); (node_text_handle, criteria, CosGraphs::depthFirst); if (CORBA::is_nil (traversal)) state_good = false; if (state_good) cout << "ok.\n"; else cout <<"failed.\n"; cout << "Checking traversing graphs of related objects - depthFirst\n"; assert (!CORBA::is_nil (traversal)); while (traversal->next_one (scoped_edge)) { cout << "from: " << Documents::AbstractDocument::_narrow (scoped_edge->from.point.the_node.the_node->related_object ())->name () << "\n"; cout << "role: " << scoped_edge->from.point.the_role.the_name << "\n"; cout << "to: " << Documents::AbstractDocument::_narrow (scoped_edge->relatives[0].point.the_node.the_node->related_object ())->name () << "\n"; cout << "role: " << scoped_edge->relatives[0].point.the_role.the_name << "\n"; cout << "\n"; } state_good = true; CosGraphs::TraversalCriteria_ptr criteria2 = criteria_factory->create_for_externalize(); assert (!CORBA::is_nil (criteria2)); CosGraphs::NodeHandle node_obr1_handle; node_obr1_handle.the_node = CosCompoundExternalization::Node::_duplicate (node_obr1); node_obr1_handle.constant_random_id = node_obr1->constant_random_id (); CosGraphs::Traversal_ptr traversal2 = traversal_factory->create_traversal_on (node_text_handle, criteria2, CosGraphs::breadthFirst); assert (!CORBA::is_nil (traversal2)); cout << "Checking traversing graphs of related objects - breadthFirst\n"; CosGraphs::Traversal::ScopedEdge* scoped_edge2; while (traversal2->next_one (scoped_edge2)) { assert (scoped_edge2 != NULL); assert (!CORBA::is_nil (scoped_edge2->from.point.the_node.the_node)); cout << "from: " << Documents::AbstractDocument::_narrow (scoped_edge2->from.point.the_node.the_node->related_object ())->name () << "\n"; cout << "role: " << scoped_edge2->from.point.the_role.the_name << "\n"; cout << "to: " << Documents::AbstractDocument::_narrow (scoped_edge2->relatives[0].point.the_node.the_node->related_object ())->name () << "\n"; cout << "role: " << scoped_edge2->relatives[0].point.the_role.the_name << "\n"; cout << "\n"; } cout << "Binding to FactoryFinder ..." << flush; CORBA::ORB::ObjectTag_var tagff = CORBA::ORB::string_to_tag ("FactoryFinder_impl"); CORBA::Object_var objff = orb->bind ("IDL:omg.org/CosLifeCycle/FactoryFinder:1.0", tagff.in()); assert (!CORBA::is_nil (objff)); CosLifeCycle::FactoryFinder_var factory_finder; if (factory_finder = CosLifeCycle::FactoryFinder::_narrow (objff)) cout << "done.\n" << flush; else cout << "ERROR!\n" << flush; cout << "Binding to FileStreamFactory ..." << flush; CORBA::ORB::ObjectTag_var tagof = CORBA::ORB::string_to_tag ("FileStream_impl"); CORBA::Object_var objof = orb->bind ("IDL:omg.org/CosExternalization/FileStreamFactory:1.0", tagof.in()); assert (!CORBA::is_nil (objof)); CosExternalization::FileStreamFactory_var stream_factory; if (stream_factory = CosExternalization::FileStreamFactory::_narrow (objof)) cout << "done.\n" << flush; else cout << "ERROR!\n" << flush; cout << "Check CosExternalization::FileStreamFactory::create() ..."; state_good=TRUE; CosExternalization::Stream_var stream; try { stream = stream_factory->create("test.ext"); } catch(CosExternalization::InvalidFileNameError& ex) { state_good=FALSE; cout << "Can not create file!"; } catch(...) { state_good=FALSE; cout << "System exception"; } if (state_good) cout << "ok\n"; else cout << "failed\n"; cout << "Check CosExternalization::Stream::externalize() ..."; state_good=TRUE; try { stream->externalize(node_text.in()); } catch(...) { state_good=FALSE; cout << "System exception"; } if (state_good) cout << "ok\n"; else cout << "failed\n"; CosCompoundExternalization::Node_var int_node; state_good=TRUE; cout << "Check CosExternalization::Stream::internalize() ..."; try { int_node = CosCompoundExternalization::Node::_narrow(stream->internalize(factory_finder.in())); } catch(CosLifeCycle::NoFactory& ex) { state_good=FALSE; cout << "Factory not found!"; } catch(CosStream::StreamDataFormatError& ex) { state_good=FALSE; cout << "Stream data format error!"; } catch(...) { state_good=FALSE; cout << "System exception"; } if (state_good) cout << "ok\n"; else cout << "failed\n"; CosGraphs::TraversalCriteria_ptr criteria3 = criteria_factory->create_for_externalize(); assert (!CORBA::is_nil (criteria2)); CosGraphs::NodeHandle int_node_handle; int_node_handle.the_node = CosCompoundExternalization::Node::_duplicate (int_node); int_node_handle.constant_random_id = int_node->constant_random_id (); CosGraphs::Traversal_ptr traversal3 = traversal_factory->create_traversal_on (int_node_handle, criteria3, CosGraphs::breadthFirst); assert (!CORBA::is_nil (traversal3)); cout << "Checking traversing internalize graphs of related objects - breadthFirst\n"; CosGraphs::Traversal::ScopedEdge* scoped_edge3; while (traversal3->next_one (scoped_edge3)) { assert (scoped_edge3 != NULL); assert (!CORBA::is_nil (scoped_edge3->from.point.the_node.the_node)); cout << "from: " << Documents::AbstractDocument::_narrow (scoped_edge3->from.point.the_node.the_node->related_object ())->name () << "\n"; cout << "role: " << scoped_edge3->from.point.the_role.the_name << "\n"; cout << "to: " << Documents::AbstractDocument::_narrow (scoped_edge3->relatives[0].point.the_node.the_node->related_object ())->name () << "\n"; cout << "role: " << scoped_edge3->relatives[0].point.the_role.the_name << "\n"; cout << "\n"; } state_good = true; cout << "Destroing objects" << flush; // containment relationships.. containment1->destroy (); cout << "." << flush; containment2->destroy (); cout << "." << flush; containment3->destroy (); cout << "." << flush; containment4->destroy (); cout << "." << flush; containment5->destroy (); cout << "." << flush; // containment roles contains->destroy (); cout << "." << flush; containedin1->destroy (); cout << "." << flush; containedin2->destroy (); cout << "." << flush; containedin3->destroy (); cout << "." << flush; // traversals traversal->destroy (); cout << "." << flush; traversal2->destroy (); cout << "." << flush; traversal3->destroy (); cout << "." << flush; // criterias criteria->destroy (); cout << "." << flush; criteria2->destroy (); cout << "." << flush; criteria3->destroy (); cout << "." << flush; //stream stream->remove(); cout << "." << flush; if (!CORBA::is_nil (iterator)) { iterator->destroy (); cout << "." << flush; } if (!CORBA::is_nil (relship1)) { relship1->destroy (); cout << "." << flush; } if (!CORBA::is_nil (role1)) { role1->destroy (); cout << "." << flush; } if (!CORBA::is_nil (role2)) { role2->destroy (); cout << "." << flush; } cout << "done.\n" << flush; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -