Package algorithm.inheritance

Source Code of algorithm.inheritance.AggregationTest

package algorithm.inheritance;

import static org.junit.Assert.assertEquals;

import java.util.ArrayList;
import java.util.Collection;

import org.junit.Before;
import org.junit.Test;

import algorithm.Measurement;
import algorithm.inhereitance.AveragingAggregator;
import algorithm.inhereitance.LowPassAveragingAggregator;
import algorithm.inhereitance.SummingAggregator;

public class AggregationTest {

      private Collection<Measurement> measurements;

      @Before
      public void setup() {
            measurements = new ArrayList<Measurement> () {{
                add(new Measurement(5,10));
                add(new Measurement(2, 15));
                add(new Measurement(100, 5));
            }};
      }

  @Test
  public void SummingAggregation_Produces_Sum() {
    SummingAggregator aggregator = new SummingAggregator(measurements);

    Measurement result = aggregator.aggregate();

    assertEquals(107, result.getX());
    assertEquals(30, result.getY());
  }

  @Test
  public void AveragingAggregagtor_Produces_Average() {
    AveragingAggregator aggregator = new AveragingAggregator(measurements);

    Measurement result = aggregator.aggregate();

    assertEquals(35, result.getX());
    assertEquals(10, result.getY());
  }

  @Test
  public void LowPassAveragingAggregator_Applys_Filter() {
    LowPassAveragingAggregator aggregator = new LowPassAveragingAggregator(measurements);

    Measurement result = aggregator.aggregate();

    assertEquals(3, result.getX());
    assertEquals(12, result.getY());
  }

  /// Uncomment this test and make it pass reusing as much code as
  /// possible from other classes that are availalbe in the Inheritance folder
  //@Test
  //public void HighPassSummingAggregator_Applys_Filter() //{
  //    Aggregator aggregator = new HighPassSummingAggregator(measurements);

  //    Measurement result = aggregator.aggregate();

  //    assertEquals(105, result.getX());
  //    assertEquals(15, result.getY());
  //}

}
TOP

Related Classes of algorithm.inheritance.AggregationTest

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.