Package org.kairosdb.client.builder

Source Code of org.kairosdb.client.builder.AggregatorFactoryTest

package org.kairosdb.client.builder;

import org.junit.Test;
import org.kairosdb.client.builder.aggregator.CustomAggregator;
import org.kairosdb.client.builder.aggregator.RateAggregator;
import org.kairosdb.client.builder.aggregator.SamplingAggregator;

import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;

public class AggregatorFactoryTest
{
  @Test(expected = IllegalArgumentException.class)
  public void test_createDivAggregator_zero_divisor_invalid()
  {
    AggregatorFactory.createDivAggregator(0);
  }

  @Test
  public void test_createMinAggregator()
  {
    SamplingAggregator minAggregator = AggregatorFactory.createMinAggregator(1, TimeUnit.MINUTES);

    assertThat(minAggregator.getName(), equalTo("min"));
    assertThat(minAggregator.getValue(), equalTo(1));
    assertThat(minAggregator.getUnit(), equalTo(TimeUnit.MINUTES));
  }

  @Test
  public void test_createMaxAggregator()
  {
    SamplingAggregator minAggregator = AggregatorFactory.createMaxAggregator(1, TimeUnit.MINUTES);

    assertThat(minAggregator.getName(), equalTo("max"));
    assertThat(minAggregator.getValue(), equalTo(1));
    assertThat(minAggregator.getUnit(), equalTo(TimeUnit.MINUTES));
  }

  @Test
  public void test_createAverageAggregator()
  {
    SamplingAggregator aggregator = AggregatorFactory.createAverageAggregator(2, TimeUnit.YEARS);

    assertThat(aggregator.getName(), equalTo("avg"));
    assertThat(aggregator.getValue(), equalTo(2));
    assertThat(aggregator.getUnit(), equalTo(TimeUnit.YEARS));
  }

  @Test
  public void test_createStandardDeviationAggregator()
  {
    SamplingAggregator aggregator = AggregatorFactory.createStandardDeviationAggregator(3, TimeUnit.DAYS);

    assertThat(aggregator.getName(), equalTo("dev"));
    assertThat(aggregator.getValue(), equalTo(3));
    assertThat(aggregator.getUnit(), equalTo(TimeUnit.DAYS));
  }

  @Test
  public void test_createSumAggregator()
  {
    SamplingAggregator aggregator = AggregatorFactory.createSumAggregator(3, TimeUnit.DAYS);

    assertThat(aggregator.getName(), equalTo("sum"));
    assertThat(aggregator.getValue(), equalTo(3));
    assertThat(aggregator.getUnit(), equalTo(TimeUnit.DAYS));
  }

  @Test
  public void test_createCountAggregator()
  {
    SamplingAggregator aggregator = AggregatorFactory.createCountAggregator(3, TimeUnit.DAYS);

    assertThat(aggregator.getName(), equalTo("count"));
    assertThat(aggregator.getValue(), equalTo(3));
    assertThat(aggregator.getUnit(), equalTo(TimeUnit.DAYS));
  }

  @Test
  public void test_createRateAggregator()
  {
    RateAggregator aggregator = AggregatorFactory.createRateAggregator(TimeUnit.DAYS);

    assertThat(aggregator.getName(), equalTo("rate"));
    assertThat(aggregator.getUnit(), equalTo(TimeUnit.DAYS));
  }

  @Test
  public void test_createCustomAggregator()
  {
    CustomAggregator aggregator = AggregatorFactory.createCustomAggregator("foobar", "\"foo\": 10");

    assertThat(aggregator.getName(), equalTo("foobar"));
    assertThat(aggregator.toJson(), equalTo("{\"name\":\"foobar\",\"foo\": 10}"));
  }

  @Test
  public void test_createDivAggregator()
  {
    CustomAggregator aggregator = AggregatorFactory.createDivAggregator(60);

    assertThat(aggregator.getName(), equalTo("div"));
    assertThat(aggregator.toJson(), equalTo("{\"name\":\"div\",\"divisor\":60.0}"));
  }

}
TOP

Related Classes of org.kairosdb.client.builder.AggregatorFactoryTest

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.