p1 = Point(10, 8)
    p2 = Point(50, 20)
    print('p1: Should print  Point(10, 8):', p1)
    print('p2: Should print  Point(50, 20):', p2)

    p1.move_by(5, -1)
    p2.move_by(0, 0)
    print('p1: Moves made should be 1:', p1.number_of_moves_made())
    print('p2: Moves made should be 1:', p2.number_of_moves_made())

    p2.move_by(200, 0)
    p2.move_by(-100, 300)
    p2.move_to(-100, 300)
    p1.move_to(3, 3)
    print('p1: Moves made should be 2:', p1.number_of_moves_made())
    print('p2: Moves made should be 4:', p2.number_of_moves_made())

    p1.move_by(200, 0)
    p1.move_by(-100, 300)
    p1.move_to(-100, 300)
    p1.move_to(3, 3)
    print('p1: Moves made should be 6:', p1.number_of_moves_made())
    print('p2: Moves made should be 4:', p2.number_of_moves_made())

    p1.x = 400
    print('p1: Moves made should be 6:', p1.number_of_moves_made())
    print('p2: Moves made should be 4:', p2.number_of_moves_made())

    p1.move_to(3, 3)
    p2.move_by(0, 0)
    print('p1: Moves made should be 7:', p1.number_of_moves_made())
    print('p2: Moves made should be 5:', p2.number_of_moves_made())