/******************************************************************************* * Copyright (c) 2006 Mountainminds GmbH & Co. KG * This software is provided under the terms of the Eclipse Public License v1.0 * See http://www.eclipse.org/legal/epl-v10.html. * * $Id: CounterTest.java 871 2010-01-24 20:48:38Z mtnminds $ ******************************************************************************/ package com.mountainminds.eclemma.internal.core.analysis; import junit.framework.TestCase; /** * @author Marc R. Hoffmann * @version $Revision: 871 $ */ public class CounterTest extends TestCase { public void testInit1() { Counter c = Counter.getInstance(0, 0); assertEquals(0, c.getTotalCount()); assertEquals(0, c.getCoveredCount()); assertEquals(0, c.getMissedCount()); } public void testInit2() { Counter c = Counter.getInstance(33, 15); assertEquals(33, c.getTotalCount()); assertEquals(15, c.getCoveredCount()); assertEquals(18, c.getMissedCount()); } public void testIncrement1() { Counter c = Counter.getInstance(1, 1); c = c.increment(2, 1); assertEquals(3, c.getTotalCount()); assertEquals(2, c.getCoveredCount()); assertEquals(1, c.getMissedCount()); } public void testIncrement2() { Counter c = Counter.getInstance(11, 5); c = c.increment(7, 3); assertEquals(18, c.getTotalCount()); assertEquals(8, c.getCoveredCount()); assertEquals(10, c.getMissedCount()); } public void testGetRatio1() { Counter c = Counter.getInstance(20, 10); assertEquals(0.5, c.getRatio(), 0.0); } public void testGetRatio2() { Counter c = Counter.getInstance(20, 0); assertEquals(0.0, c.getRatio(), 0.0); } public void testGetRatio3() { Counter c = Counter.getInstance(0, 20); assertEquals(Double.POSITIVE_INFINITY, c.getRatio(), 0.0); } public void testGetRatio4() { Counter c = Counter.getInstance(0, 0); assertTrue(Double.isNaN(c.getRatio())); } public void testCompareTo1() { Counter c1 = Counter.getInstance(20, 10); Counter c2 = Counter.getInstance(30, 10); assertTrue(c1.compareTo(c2) > 0); } public void testCompareTo2() { Counter c1 = Counter.getInstance(20, 10); Counter c2 = Counter.getInstance(30, 15); assertEquals(0, c1.compareTo(c2)); } public void testEquals1() { Counter c1 = Counter.getInstance(300, 123); Counter c2 = Counter.getInstance(300, 123); assertEquals(c1, c2); } public void testEquals2() { Counter c1 = Counter.getInstance(300, 123); Counter c2 = Counter.getInstance(400, 123); assertFalse(c1.equals(c2)); } public void testEquals3() { Counter c1 = Counter.getInstance(300, 123); Counter c2 = Counter.getInstance(300, 124); assertFalse(c1.equals(c2)); } public void testEquals4() { Counter c = Counter.getInstance(300, 123); assertFalse(c.equals(new Integer(123))); } public void testHashCode1() { Counter c1 = Counter.getInstance(300, 123); Counter c2 = Counter.getInstance(300, 123); assertEquals(c1.hashCode(), c2.hashCode()); } public void testHashCode2() { Counter c1 = Counter.getInstance(300, 123); Counter c2 = Counter.getInstance(400, 123); assertFalse(c1.hashCode() == c2.hashCode()); } public void testHashCode3() { Counter c1 = Counter.getInstance(300, 123); Counter c2 = Counter.getInstance(300, 124); assertFalse(c1.hashCode() == c2.hashCode()); } public void testToString() { Counter c = Counter.getInstance(300, 123); assertEquals("Counter[123/300]", c.toString()); } }