Package tv.floe.metronome.clustering.kmeans

Source Code of tv.floe.metronome.clustering.kmeans.MeanTest

package tv.floe.metronome.clustering.kmeans;

import static org.junit.Assert.*;

import org.junit.Test;

import tv.floe.metronome.clustering.kmeans.Mean;
import tv.floe.metronome.clustering.kmeans.Point;

public class MeanTest {

  @Test
  public void test() {
    Point zero = new Point(0,0);
    Point one = new Point(1,1);
   
    Point half = new Point(0.5, 0.5);
    Point quarter = new Point(0.25, 0.25);
   
    Mean averager = new Mean();
    averager.add(zero);
    averager.add(one);
   
    Point averageA = averager.toPoint();
    assertEquals(half, averageA);
   
    averager.reset();
    averager.add(zero);
    averager.add(zero);
    averager.add(zero);
    averager.add(one);
   
    Point averageB = averager.toPoint();
    assertEquals(quarter, averageB);
  }
 
 
  @Test
  public void testMerge() {
    Point zero = new Point(0,0);
    Point one = new Point(1,1);
   
    Point half = new Point(0.5, 0.5);
   
    Mean averagerA = new Mean();
    averagerA.add(zero);
    averagerA.add(zero);
    averagerA.add(one);
   
    Mean averagerB = new Mean();
    averagerB.add(zero);
    averagerB.add(one);
    averagerB.add(one);

    averagerA.merge(averagerB);
   
    Point average = averagerA.toPoint();
    assertEquals(half, average);
   
  }
 
  @Test(expected=IllegalStateException.class)
  public void testToPoint() {
    Mean mean = new Mean();
    mean.toPoint();
  }

}
TOP

Related Classes of tv.floe.metronome.clustering.kmeans.MeanTest

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.