#include <iostream>
#include <string>

using namespace std;

#include "Pair.h"

int main() {
  Pair<int> p = {1, 2};
  Pair<int> q = {3, 4};

  Pair<int> sum = p + q;

  cout << p << " + " << q << " = " << sum << endl;

  cout << sum << " munged = " << sum.munge() << endl;

  Pair<string> s = {"puppy", "kitty"};
  Pair<string> t = {"dog", "cat"};
  Pair<string> cat = s + t;

  cout << s << " + " << t << " = " << cat << endl;

  // check copy assignment
  s = cat;
  cout << cat << " should match " << s << endl;

  cout << s << " munged = " << s.munge() << endl;

  return 0;
}