package edu.stanford.nlp.stats; import junit.framework.TestCase; /** * @author Christopher Manning */ public class TwoDimensionalIntCounterTest extends TestCase { public void testTraditionalMain() { TwoDimensionalIntCounter<String,String> cc = new TwoDimensionalIntCounter<String,String>(); cc.setCount("a", "c", 1.0); cc.setCount("b", "c", 1.0); cc.setCount("a", "d", 1.0); cc.setCount("a", "d", -1.0); cc.setCount("b", "d", 1.0); assertEquals("Error in counter setup", 1.0, cc.getCount("a", "c"), 1e-8); assertEquals("Error in counter setup", 1.0, cc.getCount("b", "c"), 1e-8); assertEquals("Error in counter setup", -1.0, cc.getCount("a", "d"), 1e-8); assertEquals("Error in counter setup", 1.0, cc.getCount("b", "d"), 1e-8); assertEquals("Error in counter setup", 0.0, cc.getCount("a", "a"), 1e-8); cc.incrementCount("b", "d", 1.0); assertEquals("Error in counter increment", -1.0, cc.getCount("a", "d"), 1e-8); assertEquals("Error in counter increment", 2.0, cc.getCount("b", "d"), 1e-8); assertEquals("Error in counter increment", 0.0, cc.getCount("a", "a"), 1e-8); TwoDimensionalIntCounter<String,String> cc2 = TwoDimensionalIntCounter.reverseIndexOrder(cc); assertEquals("Error in counter reverseIndexOrder", 1.0, cc2.getCount("c", "a"), 1e-8); assertEquals("Error in counter reverseIndexOrder", 1.0, cc2.getCount("c", "b"), 1e-8); assertEquals("Error in counter reverseIndexOrder", -1.0, cc2.getCount("d", "a"), 1e-8); assertEquals("Error in counter reverseIndexOrder", 2.0, cc2.getCount("d", "b"), 1e-8); assertEquals("Error in counter reverseIndexOrder", 0.0, cc2.getCount("a", "a"), 1e-8); assertEquals("Error in counter reverseIndexOrder", 0.0, cc2.getCount("a", "c"), 1e-8); } }