package com.metservice.kanban.charts;
import static org.hamcrest.number.IsCloseTo.closeTo;
import static org.junit.Assert.assertThat;
import org.junit.Test;
import com.metservice.kanban.charts.HueRebalancer;
public class HueRebalancerTest {
@Test
public void rebalancesHuesUsingTwoSegments() {
HueRebalancer balancer = new HueRebalancer(0.00, 0.10, 1.00);
assertThat(balancer.balance(0.00), closeTo(0.00, 0.0001));
assertThat(balancer.balance(0.25), closeTo(0.05, 0.0001));
assertThat(balancer.balance(0.50), closeTo(0.10, 0.0001));
assertThat(balancer.balance(0.75), closeTo(0.55, 0.0001));
assertThat(balancer.balance(1.00), closeTo(0.00, 0.0001));
assertThat(balancer.balance(1.25), closeTo(0.05, 0.0001));
}
@Test
public void balancesOutHuesUsingFourSegments() {
HueRebalancer balancer = new HueRebalancer(0.20, 0.40, 0.50, 0.60, 1.00);
assertThat(balancer.balance(0.125), closeTo(0.30, 0.0001));
assertThat(balancer.balance(0.375), closeTo(0.45, 0.0001));
assertThat(balancer.balance(0.625), closeTo(0.55, 0.0001));
assertThat(balancer.balance(0.875), closeTo(0.80, 0.0001));
}
}