Please send questions to st10@humboldt.edu .
//---------------------------------------------------------------
// File: test_merge.cpp
// Name: Sharon M. Tuttle
// last modified: 3-24-05
//
// Purpose: tester for function merge
//--------------------------------------------------------------

#include <iostream>
#include "merge.h"
#include "node.h"
using namespace std;

int main()
{
    // set-up declarations
   
    // need to set up the linked lists to be merged...!
    node *l1;
    node *l2;
    node *result;
    node *temp;

    l1 = new node(2);
    l2 = new node(3);

    // tests and associated cout's

    cout << endl;
    cout << "Testing function merge..." << endl;
    cout << "-------------------------------------------" << endl;

    result = merge(l1, l2);

    cout << endl;
    cout << "AFTER merge call #1: " << endl;
    cout << "should see: 2 3" << endl;
    cout << "do see    : ";
    temp = result;
    while (temp != NULL)
    {
        cout << temp->get_data() << " ";
        temp = temp->get_next();
    }
    cout << endl;
    cout << endl;

    // delete out result to free the memory before the
    //    next test...
    while (result != NULL)
    {
        temp = result->get_next();
        delete result;
        result = temp;
    }

    // set l1 and l2 up for next test

    l1 = new node(2);
    temp = l1;
    temp->set_next(new node(3));
    temp = temp->get_next();
    temp->set_next(new node(6));

    l2 = new node(1);
    temp = l2;
    temp->set_next(new node(5));
    temp = temp->get_next();
    temp->set_next(new node(9));

    result = merge(l1, l2);

    cout << "AFTER merge call #2: " << endl;
    cout << "should see: 1 2 3 5 6 9" << endl;
    cout << "do see    : ";
    temp = result;
    while (temp != NULL)
    {
        cout << temp->get_data() << " ";
        temp = temp->get_next();
    }
    cout << endl;
    cout << endl;

    return EXIT_SUCCESS;
}