import stringhistory.*;


public class StringHistoryTest {

  /**
   * Test the StringHistory class.
   */
  public static void main(String[] args) {
    System.out.println("\nSTRING HISTORY TESTS");
    System.out.println(  "====================");

    StringHistory stringHistory = null;
    StringHistory cloneHistory = null;

    System.out.println("stringHistory: " + stringHistory);
    System.out.println("cloneHistory: " + cloneHistory);

    System.out.println("\nCreate a string history:");
    //                    ========================
    stringHistory = new StringHistory(4, "Canzoni");
    System.out.println(stringHistory);


    System.out.println("Add strings into string history:");
    //                  ================================
    stringHistory.add("O Sole Mio");
    System.out.println(stringHistory);

    stringHistory.add("Der Hirt auf dem Felsen");
    System.out.println(stringHistory);

    stringHistory.add("Obladi, Oblada");
    System.out.println(stringHistory);

    String str = "Ich hab\' Dein Knie gesehn...";
    stringHistory.add(str);
    str = "I hob Dei Fuess gsehn...";
    System.out.println(stringHistory);

    stringHistory.add("Non, je ne regrette rien");
    System.out.println(stringHistory);


    System.out.println("Clone stringHistory to cloneHistory:");
    //                  ====================================
    cloneHistory = stringHistory.cloneHistory();
    cloneHistory.setName(null);
    System.out.println(cloneHistory);

    cloneHistory.setName("Lieder");
    System.out.println(cloneHistory);

    cloneHistory.add("Mellow Moods");
    System.out.println(cloneHistory);

    System.out.println(stringHistory);

    cloneHistory.add("Linda vida");
    System.out.println(cloneHistory);


    System.out.println("Change the maxStringCount of cloneHistory:");
    //                  ==========================================
    cloneHistory.setStringCount(6);
    System.out.println(cloneHistory);

    cloneHistory.add("In einem Baechlein helle");
    System.out.println(cloneHistory);

    cloneHistory.add("Skandal um Rosie");
    System.out.println(cloneHistory);

    cloneHistory.add("Imagine");
    System.out.println(cloneHistory);


    System.out.println("Change the maxStringCount of cloneHistory to 3:");
    //                  ===============================================
    cloneHistory.setStringCount(3);
    System.out.println(cloneHistory);


    System.out.println("Empty stringHistory:");
    //                  ====================
    stringHistory.clear();
    System.out.println(stringHistory);


    System.out.println("Make histories available to the gc:");
    //                  ===================================
    stringHistory = null;
    System.out.println("stringHistory: " + stringHistory);
    cloneHistory = null;
    System.out.println("cloneHistory: " + cloneHistory);
  }
}
