
public class Main2 {

  public static void main(String args[]) {

    test1();  
    test2();      
    test3();      
    test4();
    test5();
  }
  
  // Ohjelma laskee yksinkertaisia 2D-vektorioperaatioita ja tarkistaa
  // tuloksia.

  public static void test1() {

    SimpleVector vector_A, vector_B;

    System.out.println("Testi 1:  vektorien yhteenlasku");
    vector_A = new SimpleVector(1, 2);
    System.out.println("vector_A = " + vector_A);
    vector_B = new SimpleVector(3, 4);
    System.out.println("vector_B = " + vector_B);
    System.out.println("Vektorien A ja B summa = " + 
		       SimpleVector.add_two_vectors(vector_A, vector_B));
  }

  public static void test2() {

    SimpleVector vector_A, vector_B, vector_C;
    System.out.println("Testi 2:  vektorien yhteenlasku ja summamuuttuja");
    vector_A = new SimpleVector(1, 2);
    vector_B = new SimpleVector(1, 2);
    System.out.println("vector_A = " + vector_A);
    System.out.println("vector_B = " + vector_B);
    vector_C = SimpleVector.add_two_vectors(vector_A, vector_B);
    if (vector_C == new SimpleVector(2, 4))
      System.out.println("Summa on laskettu oikein");
    else
      System.out.println("Summa on laskettu väärin");
  }

  public static void test3() {

    AnotherVector vector_A, vector_B, vector_C;
    System.out.println("Testi 3: vektorien yhteenlasku ja summamuuttuja");
    vector_A = new AnotherVector(1, 2);
    vector_B = new AnotherVector(3, 4);
    System.out.println("vector_A = " + vector_A);
    System.out.println("vector_B = " + vector_B);
    vector_C = vector_A.add_vector(vector_B);
    if (vector_C.equals(new AnotherVector(4, 6)))
      System.out.println("Summa on laskettu oikein");
    else
      System.out.println("Summa on laskettu väärin");
  }

  public static void test4() {

    AnotherVector vector_A, vector_B;
    System.out.println("Testi 4: Vektorin kertominen ja yhteenlasku");
    vector_A = new AnotherVector(1, 2);
    vector_B = vector_A;
    System.out.println("vector_A = " + vector_A);
    System.out.println("vector_B = " + vector_B);
    vector_A = vector_A.multiply_by_value(2);
    System.out.println("vector_A = " + vector_A);
    System.out.println("Niiden summa = " + 
		       vector_A.add_vector(vector_B));
  }

  public static void test5() {

    System.out.println("Testi 5:  Vakiovektorit");

    YetAnotherVector vector_B = new YetAnotherVector(1,2);
    SimpleVector vector_A = new SimpleVector(1,2);
    System.out.println("vector_A = " + vector_A);
    System.out.println("vector_B = " + vector_B);
    System.out.println("Vektorien A ja B summa = " + 
		       SimpleVector.add_two_vectors(vector_A, vector_B));

    System.out.println("B:n ja vakion summa = " + 
		       vector_B.add_constant_vector(3, 3));

    vector_B = new YetAnotherVector(1,3);
    System.out.println("Vektorien A ja B summa = " + 
		       SimpleVector.add_two_vectors(vector_A, vector_B));

  }

}

