Package gnu.testlet.java.util.TreeSet

Source Code of gnu.testlet.java.util.TreeSet.basic

// Tags: JDK1.2

// Copyright (C) 2004, 2005 Audrius Meskauskas <audriusa@bluewin.ch>

// This file is part of Mauve.

// Mauve is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2, or (at your option)
// any later version.

// Mauve is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with Mauve; see the file COPYING.  If not, write to
// the Free Software Foundation, 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.


package gnu.testlet.java.util.TreeSet;

import gnu.testlet.TestHarness;
import gnu.testlet.Testlet;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

/**
* Basic TreeSet test.
* @author Audrius Meskauskas (AudriusA@Bluewin.ch)
*/
public class basic implements Testlet
{
  TreeSet set = new TreeSet();

  void checkContent(Set forSet, String content, TestHarness h, String note)
  {
    StringBuffer b = new StringBuffer();
    Iterator iter = forSet.iterator();
    while (iter.hasNext())
      {
        b.append(iter.next());
      }

    h.check(b.toString(), content, note);
  }

  void checkContent(String content, TestHarness h, String note)
  {
    checkContent(set, content, h, note);
  }

  TreeSet getSet(String content)
  {
    TreeSet t = new TreeSet();

    for (int i = 0; i < content.length(); i++)
      {
        t.add("" + content.charAt(i));
      }

    return t;
  }

  /* Test clone(). */
  public void test_clone(TestHarness harness)
  {
    TreeSet t = getSet("abcdef");
    set = (TreeSet) t.clone();
    checkContent("abcdef", harness, "clone");
  }

  /* Test add(Object). */
  public void test_add(TestHarness harness)
  {
    set = getSet("bcdabcddabbccaabbccadbcdababbcdabcxabcxccda");
    checkContent("abcdx", harness, "add");
    harness.check(set.size(), 5, "size");
    harness.check(set.first(), "a", "first");
    harness.check(set.last(), "x", "last");
    harness.check(set.comparator() == null, "null comparator expected");
  }

  /* Test addAll(Collection). */
  public void test_addAll(TestHarness harness)
  {
    set = getSet("dac");

    TreeSet t = getSet("xay");

    set.addAll(t);

    checkContent("acdxy", harness, "addAll");
  }

  /* Test contains(Object). */
  public void test_contains(TestHarness harness)
  {
    String t = "abcdefghij";
    set = getSet(t);

    for (int i = 0; i < t.length(); i++)
      {
        String s = t.substring(i, i + 1);
        harness.check(set.contains(s), "must contain '" + s + "'");
      }

    harness.check(!set.contains("aa"), "must not contain 'aa'");
  }

  /* Test remove(Object). */
  public void test_remove(TestHarness harness)
  {
    String t = "abcdefghij";
    set = getSet(t);

    for (int i = 0; i < t.length(); i++)
      {
        String s = t.substring(i, i + 1);
        set.remove(s);

        if (set.contains(s))
          harness.fail("Contains '" + s + "' after removing. ");
      }

    harness.check(set.size(), 0, "non zero size after removing all elements");

    harness.check(set.isEmpty(), "non empty when it should be");
  }

  /* Test clear(). */
  public void test_clear(TestHarness harness)
  {
    set = getSet("a");
    set.clear();
    harness.check(set.size(), 0, "clear");
  }

  /* Test headSet(Object). */
  public void test_subsets(TestHarness harness)
  {
    String content = "abcdefghijklmn";

    set = getSet(content);

    for (int i = 0; i < content.length() - 1; i++)
      {
        String s = content.substring(i, i + 1);
        checkContent(set.headSet(s), content.substring(0, i), harness, "headSet");

        checkContent(set.tailSet(s), content.substring(i), harness, "tailSet");

        checkContent(set.subSet(s, "n"),
                     content.substring(i, content.length() - 1), harness,
                     "subset"
                    );
      }
  }

  public void test(TestHarness harness)
  {
    test_clone(harness);
    test_add(harness);
    test_addAll(harness);
    test_contains(harness);
    test_remove(harness);
    test_clear(harness);
    test_subsets(harness);
  }
}
TOP

Related Classes of gnu.testlet.java.util.TreeSet.basic

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.