/**
   * Test method for {@link com.jgaap.distances.NominalKSDistance#distance(com.jgaap.util.EventSet,
   * com.jgaap.util.EventSet)}.
   */
  @Test
  public void testDistance() {
    EventSet es1 = new EventSet();
    EventSet es2 = new EventSet();
    Vector<Event> test1 = new Vector<Event>();
    test1.add(new Event("The", null));
    test1.add(new Event("quick", null));
    test1.add(new Event("brown", null));
    test1.add(new Event("fox", null));
    test1.add(new Event("jumps", null));
    test1.add(new Event("over", null));
    test1.add(new Event("the", null));
    test1.add(new Event("lazy", null));
    test1.add(new Event("dog", null));
    test1.add(new Event(".", null));
    es1.addEvents(test1);
    es2.addEvents(test1);

    assertTrue(new NominalKSDistance().distance(new EventMap(es1), new EventMap(es2)) == 0.00);

    Vector<Event> test2 =
        new Vector<
            Event>(); // set with the same number of elements, only one repeats and none are the
                      // same as in test1
    test2.add(new Event("33", null));
    test2.add(new Event("5", null));
    test2.add(new Event("6", null));
    test2.add(new Event("8", null));
    test2.add(new Event("44", null));
    test2.add(new Event("7", null));
    test2.add(new Event("33", null));
    test2.add(new Event("10", null));
    test2.add(new Event("2", null));
    test2.add(new Event("..", null));
    es2 = new EventSet();
    es2.addEvents(test2);
    double result = new NominalKSDistance().distance(new EventMap(es1), new EventMap(es2));
    assertTrue(DistanceTestHelper.inRange(result, 1.00, 0.0000000001));
  }
Example #2
0
  @Test
  public void testProcess() throws EventCullingException {
    List<EventSet> eventSets = new ArrayList<EventSet>();
    EventSet eventSet1 = new EventSet();
    eventSet1.addEvent(new Event("A", null));
    eventSet1.addEvent(new Event("A", null));
    eventSet1.addEvent(new Event("A", null));
    eventSet1.addEvent(new Event("A", null));
    eventSet1.addEvent(new Event("A", null));
    eventSet1.addEvent(new Event("B", null));
    eventSet1.addEvent(new Event("B", null));
    eventSet1.addEvent(new Event("B", null));
    eventSet1.addEvent(new Event("C", null));
    eventSets.add(eventSet1);
    EventSet eventSet2 = new EventSet();
    eventSet2.addEvent(new Event("A", null));
    eventSet2.addEvent(new Event("B", null));
    eventSet2.addEvent(new Event("C", null));
    eventSet2.addEvent(new Event("D", null));
    eventSet2.addEvent(new Event("E", null));
    eventSet2.addEvent(new Event("F", null));
    eventSet2.addEvent(new Event("F", null));
    eventSet2.addEvent(new Event("G", null));
    eventSet2.addEvent(new Event("H", null));
    eventSets.add(eventSet2);
    EventSet eventSet3 = new EventSet();
    eventSet3.addEvent(new Event("E", null));
    eventSet3.addEvent(new Event("E", null));
    eventSet3.addEvent(new Event("E", null));
    eventSet3.addEvent(new Event("F", null));
    eventSet3.addEvent(new Event("A", null));
    eventSet3.addEvent(new Event("B", null));
    eventSet3.addEvent(new Event("D", null));
    eventSet3.addEvent(new Event("H", null));
    eventSet3.addEvent(new Event("C", null));
    eventSets.add(eventSet3);

    WeightedVariance culler = new WeightedVariance();
    culler.setParameter("numEvents", 4);
    Set<Event> results = culler.train(eventSets);
    Set<Event> expected = new HashSet<Event>();
    expected.add(new Event("A", null));
    expected.add(new Event("B", null));
    expected.add(new Event("E", null));
    expected.add(new Event("F", null));
    assertTrue(results.equals(expected));
  }