import java.util.Collection;
import java.util.LinkedList;

import points.NamedPoint;
import points.SimpleNamedPoint;

public class Test {

  static void test1() {
    SimpleNamedPoint top = new SimpleNamedPoint("top", 100, 20);
    System.out.println(top);
    System.out.println(new SimpleNamedPoint("left", 20, 100));
    System.out.println(new SimpleNamedPoint("right", 150, 100));
  }

  static void printNames(Collection<NamedPoint> c) {
    System.out.println(c.size() + " point(s) :");
    for (NamedPoint p : c)
      System.out.println(p.getName());
  }

  static void test2() {
    Collection<NamedPoint> myCollection = new LinkedList<NamedPoint>();
    // autres possibles :
    // Collection<NamedPoint> myCollection = new ArrayList<NamedPoint>();
    // Collection<NamedPoint> myCollection = new Vector<NamedPoint>();
    // Collection<NamedPoint> myCollection = new Stack<NamedPoint>();
    // Collection<NamedPoint> myCollection = new HashSet<NamedPoint>(); //
    // l'ordre n'est pas conservé
    // Collection<NamedPoint> myCollection = new LinkedHashSet<NamedPoint>(); //
    // l'ordre est conservé
    SimpleNamedPoint top = new SimpleNamedPoint("top", 100, 20);
    SimpleNamedPoint left = new SimpleNamedPoint("left", 20, 100);
    SimpleNamedPoint right = new SimpleNamedPoint("right", 150, 100);
    myCollection.add(top);
    myCollection.add(left);
    myCollection.add(right);
    printNames(myCollection);
  }

  public static void main(String[] args) {
    test1();
    test2();
  }
}

