with ada.text_io; use ada.text_io;
with ada.integer_text_io; use ada.integer_text_io;
with pairpkg; use pairpkg;
procedure pairClient is
p1: Pair;
p2: Pair;
begin
p1 := NewPair(1, 2);
put(p1);
put(toString(p1));
put(distanceToOrigin(p1));
p2 := NewPair(3, 4);
put(toString(p2));
put(distanceToOrigin(p2));
put(distanceBetween(p2, p1));
p2 := reflect(p1);
put(toString(p2));
reflectMe(p1);
put(toString(p1));
-- distanceToOrigin for this pair is too large for a natural
p1 := NewPair(integer'last, integer'last);
begin
-- This will raise an exception that is handled
put(distanceToOrigin(p1));
exception
when Pair_Distance_Too_Large =>
put_line("Can't calculate distance for this pair");
end;
-- This will raise an exception that is not handled
put(distanceToOrigin(p1));
end pairClient;