| import li_std_set.*; |
| |
| public class li_std_set_runme { |
| |
| static { |
| try { |
| System.loadLibrary("li_std_set"); |
| } catch (UnsatisfiedLinkError e) { |
| System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); |
| System.exit(1); |
| } |
| } |
| |
| public static void checkThat(boolean mustBeTrue) throws Throwable { |
| if (!mustBeTrue) { |
| // Index [2], since this function is one hop away from main, and [1] is the current method. |
| throw new RuntimeException("Test failed at line number " + Thread.currentThread().getStackTrace()[2].getLineNumber()); |
| } |
| } |
| |
| public static void main(String argv[]) throws Throwable |
| { |
| java.util.AbstractSet<String> ss = new StringSet(); |
| |
| checkThat(ss.isEmpty()); |
| checkThat(!ss.contains("key")); |
| checkThat(!ss.remove("key")); |
| |
| checkThat(ss.add("key")); |
| checkThat(!ss.add("key")); |
| checkThat(ss.contains("key")); |
| checkThat(ss.remove("key")); |
| checkThat(ss.isEmpty()); |
| checkThat(ss.size() == 0); |
| |
| checkThat(ss.add("key1")); |
| checkThat(ss.add("key2")); |
| checkThat(ss.add("key3")); |
| checkThat(ss.size() == 3); |
| |
| ss.clear(); |
| checkThat(ss.isEmpty()); |
| checkThat(ss.size() == 0); |
| |
| checkThat(ss.addAll(java.util.Arrays.asList("one", "two", "three"))); |
| checkThat(ss.size() == 3); |
| checkThat(ss.contains("one")); |
| checkThat(!ss.contains("four")); |
| |
| checkThat(ss.containsAll(java.util.Arrays.asList("one", "two", "three"))); |
| checkThat(ss.containsAll(java.util.Arrays.asList("one", "two"))); |
| checkThat(!ss.containsAll(java.util.Arrays.asList("one", "two", "four"))); |
| checkThat(!ss.containsAll(java.util.Arrays.asList("one", "two", "three", "four"))); |
| |
| checkThat(!ss.addAll(java.util.Arrays.asList("one", "two", "three"))); |
| |
| java.util.Set<String> found = new java.util.HashSet<String>(); |
| java.util.Iterator<String> itr = ss.iterator(); |
| while (itr.hasNext()) { |
| found.add(itr.next()); |
| } |
| |
| checkThat(ss.containsAll(found)); |
| checkThat(found.containsAll(ss)); |
| |
| java.util.AbstractSet<String> ss2 = new StringSet(ss); |
| checkThat(ss2.containsAll(ss)); |
| checkThat(ss.containsAll(ss2)); |
| |
| checkThat(!ss.removeAll(java.util.Arrays.asList("five", "four"))); |
| checkThat(ss.removeAll(found)); |
| checkThat(ss.isEmpty()); |
| checkThat(ss.size() == 0); |
| |
| // Check a set of another type. |
| java.util.AbstractSet<Foo> fooSet = new FooSet(); |
| checkThat(fooSet.isEmpty()); |
| checkThat(fooSet.add(new Foo(17))); |
| checkThat(fooSet.size() == 1); |
| |
| // And a set of primitive type. |
| java.util.AbstractSet<Integer> intSet = new IntSet(); |
| checkThat(intSet.isEmpty()); |
| checkThat(intSet.add(17)); |
| checkThat(!intSet.add(17)); |
| checkThat(intSet.size() == 1); |
| checkThat(intSet.add(289)); |
| checkThat(intSet.size() == 2); |
| } |
| } |