void Chapter2Test::Test2_5() { ofstream fout; OpenLogFile(fout,"test2_5.html","Problem 2.5: add two lists with digits and return a new list."); ListNode *l1(nullptr),*l2(nullptr); ListNode *output(nullptr), *expected_1(nullptr), *expected_2(nullptr); stringstream ss; ListNode::GenerateListNode({}, 0, l1); ListNode::GenerateListNode({}, 0, l2); ListNode::GenerateListNode({}, 0, expected_1); ListNode::GenerateListNode({}, 0, expected_2); ListNode::PrintListNode(l1, ss); ss<<" + "; ListNode::PrintListNode(l2, ss); output = sol.prob2_5_1(l1,l2); TestLinkedList(fout, ss.str(), output, expected_1); output = sol.prob2_5_2(l1, l2); TestLinkedList(fout, ss.str(), output, expected_2); ss.str(""); int A0[] = {1,2,3}, B0[] = {1,2,3}, C0[] = {2,4,6}, D0[] = {2,4,6}; ListNode::GenerateListNode(A0, sizeof(A0)/sizeof(A0[0]), l1); ListNode::GenerateListNode(B0, sizeof(B0)/sizeof(B0[0]), l2); ListNode::GenerateListNode(C0, sizeof(C0)/sizeof(C0[0]), expected_1); ListNode::GenerateListNode(D0, sizeof(D0)/sizeof(D0[0]), expected_2); ListNode::PrintListNode(l1, ss); ss<<" + "; ListNode::PrintListNode(l2, ss); output = sol.prob2_5_1(l1,l2); TestLinkedList(fout, ss.str(), output, expected_1); output = sol.prob2_5_2(l1, l2); TestLinkedList(fout, ss.str(), output, expected_2); ss.str(""); int A1[] = {9,9,9}, B1[] = {9,8}, C1[] = {8,8,0,1}, D1[] = {1,0,9,7}; ListNode::GenerateListNode(A1, sizeof(A1)/sizeof(A1[0]), l1); ListNode::GenerateListNode(B1, sizeof(B1)/sizeof(B1[0]), l2); ListNode::GenerateListNode(C1, sizeof(C1)/sizeof(C1[0]), expected_1); ListNode::GenerateListNode(D1, sizeof(D1)/sizeof(D1[0]), expected_2); ListNode::PrintListNode(l1, ss); ss<<" + "; ListNode::PrintListNode(l2, ss); output = sol.prob2_5_1(l1,l2); TestLinkedList(fout, ss.str(), output, expected_1); output = sol.prob2_5_2(l1, l2); TestLinkedList(fout, ss.str(), output, expected_2); CloseLogFile(fout); }
void basic_test() { fr::coordinates::lat_long ll(1,2,3); cppxml::kml_coordinates::pointer testval = std::make_shared<cppxml::kml_coordinates>(0); testval->add(ll); std::string returned = testval->to_xml()->to_string(); std::string expected("<coordinates>\n2,1,3\n</coordinates>\n"); CPPUNIT_ASSERT(expected == returned); // ECEF coordinates for Denver fr::coordinates::ecef ef(-1260484.206487,4747249.668167,4057711.884932); testval->add(ef); std::string expected_2("<coordinates>\n2,1,3\n104.87,39.75,1609.34\n</coordinates>\n"); returned = testval->to_xml()->to_string(); CPPUNIT_ASSERT(expected_2 == returned); testval->clear(); returned = testval->to_xml()->to_string(); CPPUNIT_ASSERT("<coordinates/>\n" == returned); }