int main() { Graph g; Node node1(1), node2(2), node3(3), node4(4), node5(5), node6(6), node7(7), node8(8), node9(9); g.insert (Graph::value_type(node1, node3)); g.insert (Graph::value_type(node1, node4)); g.insert (Graph::value_type(node1, node5)); g.insert (Graph::value_type(node2, node6)); g.insert (Graph::value_type(node3, node6)); g.insert (Graph::value_type(node4, node7)); g.insert (Graph::value_type(node5, node7)); g.insert (Graph::value_type(node5, node8)); g.insert (Graph::value_type(node5, node9)); g.insert (Graph::value_type(node9, node5)); Graph::const_iterator it = g.begin(); while (it != g.end()) { std::pair<Graph::const_iterator, Graph::const_iterator> range = g.equal_range(it->first); std::cout << it->first << ": "; // print vertex for (; range.first != range.second; ++range.first) { std::cout << range.first->second << ", "; // print adjacent vertices } std::cout << std::endl; it = range.second; } }
int main() { Graph g; Node node1(1), node2(2), node3(3), node4(4), node5(5), node6(6), node7(7), node8(8), node9(9); g.insert (Graph::value_type(node1, node3)); g.insert (Graph::value_type(node1, node4)); g.insert (Graph::value_type(node1, node5)); g.insert (Graph::value_type(node2, node6)); g.insert (Graph::value_type(node3, node6)); g.insert (Graph::value_type(node4, node7)); g.insert (Graph::value_type(node5, node7)); g.insert (Graph::value_type(node5, node8)); g.insert (Graph::value_type(node5, node9)); g.insert (Graph::value_type(node9, node5)); Graph::key_compare cmp = g.key_comp(); Graph::const_iterator it = g.begin(), itEnd = g.end(), prev; while (it != itEnd) { std::cout << it->first << ": "; // print vertex do { std::cout << it->second << ", "; // print adjacent vertices prev = it++; } while (it != itEnd && !cmp(prev->first, it->first) && !cmp(it->first, prev->first)); std::cout << std::endl; } }
TEST(L124, normal) { std::shared_ptr<TreeNode> node1(new TreeNode(1)); std::shared_ptr<TreeNode> node2(new TreeNode(2)); std::shared_ptr<TreeNode> node3(new TreeNode(3)); Solution solution; ASSERT_EQ(1, solution.maxPathSum(node1.get())); node1->val = -3; ASSERT_EQ(-3, solution.maxPathSum(node1.get())); node1->val = 2; node2->val = -1; node1->left = node2.get(); node1->right = 0; ASSERT_EQ(2, solution.maxPathSum(node1.get())); node1->val = -2; node3->val = -3; node1->right = node3.get(); node1->left = 0; ASSERT_EQ(-2, solution.maxPathSum(node1.get())); node1->val = 2; node2->val = -1; node3->val = 2; node1->right = node3.get(); node1->left = node2.get(); ASSERT_EQ(4, solution.maxPathSum(node1.get())); node1->val = 5; node2->val = 4; node3->val = 8; std::shared_ptr<TreeNode> node4(new TreeNode(11)); std::shared_ptr<TreeNode> node5(new TreeNode(13)); std::shared_ptr<TreeNode> node6(new TreeNode(4)); std::shared_ptr<TreeNode> node7(new TreeNode(7)); std::shared_ptr<TreeNode> node8(new TreeNode(2)); std::shared_ptr<TreeNode> node9(new TreeNode(5)); std::shared_ptr<TreeNode> node10(new TreeNode(1)); node2->left = node4.get(); node3->left = node5.get(); node3->right = node6.get(); node4->left = node7.get(); node4->right = node8.get(); node6->left = node9.get(); node6->right = node10.get(); ASSERT_EQ(48, solution.maxPathSum(node1.get())); }
void runRelationTest() { PoiPolygonAddressScoreExtractor uut; uut.setConfiguration(conf()); OsmMapPtr map(new OsmMap()); NodePtr node1(new Node(Status::Unknown1, -1, Coordinate(0.0, 0.0), 15.0)); node1->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "123"); node1->getTags().set(TestUtils::STREET_TAG_NAME, "Main Street"); map->addNode(node1); RelationPtr relation1(new Relation(Status::Unknown2, -1, 15.0)); NodePtr node2(new Node(Status::Unknown1, -2, Coordinate(0.0, 0.0), 15.0)); node2->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "123"); node2->getTags().set(TestUtils::STREET_TAG_NAME, "main street"); map->addNode(node2); relation1->addElement("test", node2->getElementId()); map->addRelation(relation1); CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, uut.extract(*map, node1, relation1), 0.0); NodePtr node4(new Node(Status::Unknown1, -4, Coordinate(0.0, 0.0), 15.0)); node4->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "123"); node4->getTags().set(TestUtils::STREET_TAG_NAME, "Main Street"); map->addNode(node4); RelationPtr relation3(new Relation(Status::Unknown2, -3, 15.0)); NodePtr node5(new Node(Status::Unknown1, -5, Coordinate(0.0, 0.0), 15.0)); node5->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "567"); node5->getTags().set(TestUtils::STREET_TAG_NAME, "first street"); map->addNode(node5); relation3->addElement("test", node5->getElementId()); map->addRelation(relation3); CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0, uut.extract(*map, node4, relation3), 0.01); NodePtr node6(new Node(Status::Unknown1, -6, Coordinate(0.0, 0.0), 15.0)); node6->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "567"); node6->getTags().set(TestUtils::STREET_TAG_NAME, "first street"); map->addNode(node6); RelationPtr relation4(new Relation(Status::Unknown2, -4, 15.0)); WayPtr way3(new Way(Status::Unknown2, -3, 15.0)); way3->getTags().set(TestUtils::HOUSE_NUMBER_TAG_NAME, "123"); way3->getTags().set(TestUtils::STREET_TAG_NAME, "main street"); map->addWay(way3); relation4->addElement("test", way3->getElementId()); map->addRelation(relation4); CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0, uut.extract(*map, node6, relation4), 0.01); }
int main() { Graph g; Node node1(1), node2(2), node3(3), node4(4), node5(5), node6(6); g.insert (Graph::value_type(node1, node3)); g.insert (Graph::value_type(node1, node4)); g.insert (Graph::value_type(node1, node5)); g.insert (Graph::value_type(node2, node6)); g.insert (Graph::value_type(node3, node6)); Graph::iterator it = g.begin(); for (; it != g.end(); it = g.upper_bound(it->first)) { std::pair<Graph::iterator, Graph::iterator> range = g.equal_range(it->first); std::cout << it->first << ": "; for (; range.first != range.second; ++range.first) { std::cout << range.first->second << ", "; } std::cout << std::endl; } }
void main(void) { int c1 ; int i2 ; { c1 = 0; r1 = __VERIFIER_nondet_char(); id1 = __VERIFIER_nondet_char(); st1 = __VERIFIER_nondet_char(); send1 = __VERIFIER_nondet_msg_t(); mode1 = __VERIFIER_nondet__Bool(); alive1 = __VERIFIER_nondet__Bool(); id2 = __VERIFIER_nondet_char(); st2 = __VERIFIER_nondet_char(); send2 = __VERIFIER_nondet_msg_t(); mode2 = __VERIFIER_nondet__Bool(); alive2 = __VERIFIER_nondet__Bool(); id3 = __VERIFIER_nondet_char(); st3 = __VERIFIER_nondet_char(); send3 = __VERIFIER_nondet_msg_t(); mode3 = __VERIFIER_nondet__Bool(); alive3 = __VERIFIER_nondet__Bool(); id4 = __VERIFIER_nondet_char(); st4 = __VERIFIER_nondet_char(); send4 = __VERIFIER_nondet_msg_t(); mode4 = __VERIFIER_nondet__Bool(); alive4 = __VERIFIER_nondet__Bool(); id5 = __VERIFIER_nondet_char(); st5 = __VERIFIER_nondet_char(); send5 = __VERIFIER_nondet_msg_t(); mode5 = __VERIFIER_nondet__Bool(); alive5 = __VERIFIER_nondet__Bool(); id6 = __VERIFIER_nondet_char(); st6 = __VERIFIER_nondet_char(); send6 = __VERIFIER_nondet_msg_t(); mode6 = __VERIFIER_nondet__Bool(); alive6 = __VERIFIER_nondet__Bool(); i2 = init(); __VERIFIER_assume(i2); p1_old = nomsg; p1_new = nomsg; p2_old = nomsg; p2_new = nomsg; p3_old = nomsg; p3_new = nomsg; p4_old = nomsg; p4_new = nomsg; p5_old = nomsg; p5_new = nomsg; p6_old = nomsg; p6_new = nomsg; i2 = 0; while (1) { { node1(); node2(); node3(); node4(); node5(); node6(); p1_old = p1_new; p1_new = nomsg; p2_old = p2_new; p2_new = nomsg; p3_old = p3_new; p3_new = nomsg; p4_old = p4_new; p4_new = nomsg; p5_old = p5_new; p5_new = nomsg; p6_old = p6_new; p6_new = nomsg; c1 = check(); assert(c1); } } } }