package com.datascience.utils;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import com.datascience.utils.ProbabilityDistributions;
import org.junit.Test;
import com.datascience.utils.CostMatrix;
/**
* The class <code>ProbabilityDistributionsTest</code> contains tests for the class {@link <code>ProbabilityDistributions</code>}
*
* @pattern JUnit Test Case
*
* @generatedBy CodePro at 10/2/12 11:02 AM
*
* @author Konrad Kurdej
*
* @version $Revision$
*/
public class ProbabilityDistributionsTest {
/**
* Run the Double calculateLabelCost(String, Map<String,Double>,
* CostMatrix<String>) method test
*/
@Test
public void testCalculateLabelCost() {
String calcLabel = "OK";
Map<String, Double> labelProbabilities = new HashMap<String, Double>();
labelProbabilities.put("OK", 0.5);
labelProbabilities.put("LOK", 0.0);
labelProbabilities.put("HOK", 1.);
CostMatrix<String> costMatrix = new CostMatrix<String>();
costMatrix.add("OK", "OK", 1.);
costMatrix.add("LOK", "OK", 10.);
costMatrix.add("HOK", "OK", 20.);
Double result = ProbabilityDistributions.calculateLabelCost(calcLabel, labelProbabilities,
costMatrix);
assertEquals(20.5, result, 0.0);
}
/**
* Run the Map<T,Double> generateConstantDistribution(Collection<T>, double)
* method test
*/
@Test
public void testGenerateConstantDistribution() {
Collection<String> objects = new LinkedList<String>();
for (int i = 0; i < 10; i++) {
objects.add("" + i);
}
double value = Math.PI;
Map<String, Double> result = ProbabilityDistributions.generateConstantDistribution(
objects, value);
for (String s : objects) {
assertEquals(Math.PI, result.get(s), 0.0);
}
}
/**
* Run the Map<T,Double> generateUniformDistribution(Collection<T>) method
* test
*/
@Test
public void testGenerateUniformDistribution() {
Collection<String> objects = new LinkedList<String>();
for (int i = 0; i < 8; i++) {
objects.add("" + i);
}
Map<String, Double> result = ProbabilityDistributions.generateUniformDistribution(objects);
for (String s : objects) {
assertEquals(1. / 8, result.get(s), 0.0);
}
}
}