#include "Point.h"
#include "PointPair.h"

int main(int argc, char** argv)
{
    Point p1;
    Point p2(1,2);
    Point p3(-12,26);
    Point p4(p2);
    Point p5; p5=p3;
    Point* p6=new Point(7,77);

    cout<<"____________________"<<endl;
    cout<<"p1="<<p1<<endl;
    cout<<"p2="<<p2<<endl;
    cout<<"p3="<<p3<<endl;
    cout<<"p4="<<p4<<endl;
    cout<<"p5="<<p5<<endl;
    cout<<"p6="<<*p6<<endl;
    cout<<"p6->x="<<p6->x()<<endl;
    cout<<"p6->y="<<p6->y()<<endl;
 
    cout<<"dist(p1,p2)="<<p1.distance(p2)<<endl;
    cout<<"dist(p3,p3)="<<p3.distance(p3)<<endl;
    cout<<"dist(p5,p6)="<<p5.distance(*p6)<<endl;
   
    cout<<"p3==p2 "<<(p3==p2)<<endl;
    cout<<"p3!=p2 "<<(p3!=p2)<<endl;

    cout<<"p3==p5 "<<(p3==p5)<<endl;
    cout<<"p3!=p5 "<<(p3!=p5)<<endl;

    p3.set(10,20);
    cout<<"p3="<<p3<<endl;
    
    delete p6;

    //--------------------------

    cout<<"____________________"<<endl;
    PointPair pp1;
    PointPair pp2(p1,p2);
    PointPair pp3(pp2);
    
    cout<<"pp1="<<pp1<<endl;
    cout<<"pp2="<<pp2<<endl;
    cout<<"pp3="<<pp2<<endl;

    pp1=pp2;
    cout<<"pp1="<<pp1<<endl;

    PointPair pp4=pp1;
    cout<<"pp4="<<pp4<<endl;

    pp3.setPoints(p2,p2);
    cout<<"pp3="<<pp3<<endl;

    cout<<"dist(pp3)="<<pp3.distance()<<endl;

    cout<<"pp3==pp2 "<<(pp3==pp2)<<endl;
    cout<<"pp3!=pp2 "<<(pp3!=pp2)<<endl;

    PointPair* pp5=new PointPair();
    cout<<"pp5="<<*pp5<<endl;
    delete pp5;

    cout<<"____________________"<<endl;
    return 0;
}
