📄 simple-test.cc
字号:
nr[0].aRole = CosRelationships::Role::_duplicate (contains); nr[1].aRole = CosRelationships::Role::_duplicate (containedin3); CosContainment::Relationship_ptr containment3 = CosContainment::Relationship::_narrow (containment_factory->create (nr)); cout << "." << flush; nr[0].aRole = CosGraphs::Role::_duplicate (contains); nr[1].aRole = CosGraphs::Role::_duplicate (containedin1); CosContainment::Relationship_ptr containment1 = CosContainment::Relationship::_narrow (containment_factory->create (nr)); cout << "." << flush; nr[0].aRole = CosRelationships::Role::_duplicate (contains); nr[1].aRole = CosRelationships::Role::_duplicate (containedin2); CosContainment::Relationship_ptr containment2 = CosContainment::Relationship::_narrow (containment_factory->create (nr)); cout << "." << flush; nr[0].aRole = CosRelationships::Role::_duplicate (contains_obr1); nr[1].aRole = CosRelationships::Role::_duplicate (containedin4); CosContainment::Relationship_ptr containment4 = CosContainment::Relationship::_narrow (containment_factory->create (nr)); cout << "." << flush; nr[0].aRole = CosRelationships::Role::_duplicate (contains_obr1); nr[1].aRole = CosRelationships::Role::_duplicate (containedin5); CosContainment::Relationship_ptr containment5 = CosContainment::Relationship::_narrow (containment_factory->create (nr)); cout << "." << flush; state_good = true; CosGraphs::Edges* edges; CosGraphs::EdgeIterator_ptr edge_iterator; contains->get_edges (1, edges, edge_iterator); Documents::Text_ptr tmp_text = Documents::Text::_narrow (CosGraphs::Node::_narrow ((*edges)[0].from.the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_text->name (), text->name ()) != 0) state_good = false; Documents::Figure_ptr tmp_obr = Documents::Figure::_narrow (CosGraphs::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; if (CORBA::is_nil (edge_iterator)) state_good = false; else edge_iterator->destroy (); if (state_good) cout << "ok.\n"; else cout <<"failed.\n"; cout << "Checking EdgeIterator::next_one () ..." << flush; contains->get_edges (1, edges, edge_iterator); CosGraphs::Edge* edge; if (!CORBA::is_nil (edge_iterator)) { edge_iterator->next_one (edge); tmp_obr = Documents::Figure::_narrow (CosGraphs::Node::_narrow (edge->relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr1->name ()) != 0) state_good = false; edge_iterator->next_one (edge); if (edge_iterator->next_one (edge)) state_good = false; } else state_good = false; edge_iterator->destroy (); // for get_edges (0, edges, edge_iterator); contains->get_edges (0, edges, edge_iterator); if (!CORBA::is_nil (edge_iterator)) { edge_iterator->next_one (edge); tmp_obr = Documents::Figure::_narrow (CosGraphs::Node::_narrow (edge->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); tmp_obr = Documents::Figure::_narrow (CosGraphs::Node::_narrow (edge->relatives[0].the_role.the_role ->related_object ())->related_object ()); if (strcmp (tmp_obr->name (), obr1->name ()) != 0) state_good = false; edge_iterator->next_one (edge); if (edge_iterator->next_one (edge)) state_good = false; edge_iterator->destroy (); } else state_good = false; contains->get_edges (3, 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; 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 (CosGraphs::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 (CosGraphs::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 (CosGraphs::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 (CosGraphs::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 (CosGraphs::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 (CosGraphs::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 (CosGraphs::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 (CosGraphs::deep); if (CORBA::is_nil (criteria)) state_good = false; CosGraphs::NodeHandle node_text_handle; CosGraphs::Traversal::ScopedEdge* scoped_edge; node_text_handle.the_node = CosGraphs::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; traversal->destroy (); CosGraphs::TraversalCriteria_ptr criteria2 = criteria_factory->create (CosGraphs::deep); assert (!CORBA::is_nil (criteria2)); CosGraphs::NodeHandle node_obr1_handle; node_obr1_handle.the_node = CosGraphs::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"; } 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 (); traversal2->destroy (); cout << "." << flush; // criterias criteria->destroy (); 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 + -