package com.vistatec.ocelot.lqi.model; import org.junit.Before; import org.junit.Test; import com.google.common.collect.Lists; import com.vistatec.ocelot.config.xml.LQIGridConfig.LQICategory; import static org.junit.Assert.*; import java.util.Collections; import java.util.List; public class TestLQIGrid { private LQIGrid grid = null; @Before public void setup() { grid = new LQIGrid(); } @SuppressWarnings("unchecked") @Test public void testIsEmpty() { assertTrue(grid.isEmpty()); grid.setSeverities(Collections.singletonList(new LQISeverity("Murky", 7.0))); assertFalse(grid.isEmpty()); grid.setSeverities(Collections.EMPTY_LIST); assertTrue(grid.isEmpty()); grid.setErrorCategories(Collections.singletonList(new LQIErrorCategory("Confusion"))); assertFalse(grid.isEmpty()); } @Test public void testSeverities() { grid.setSeverities(Lists.newArrayList( new LQISeverity("Murky", 7.0), new LQISeverity("Dodgy", 5.0), new LQISeverity("Funky", 2.5) )); assertEquals(2.5, grid.getSeverityScore("Funky"), 0.01); assertEquals(7.0, grid.getSeverityScore("Murky"), 0.01); assertEquals(5.0, grid.getSeverityScore("Dodgy"), 0.01); // We return a default score of 0 for unknown severities assertEquals(0.0, grid.getSeverityScore("Frizzle"), 0.01); assertNull(grid.getSeverity("Frizzle")); grid.setSeverityScore("Murky", 17.0); assertEquals(17.0, grid.getSeverityScore("Murky"), 0.01); assertEquals(5.0, grid.getSeverityScore("Dodgy"), 0.01); assertEquals(2.5, grid.getSeverityScore("Funky"), 0.01); LQISeverity sev = grid.getSeverity("Murky"); assertNotNull(sev); assertEquals("Murky", sev.getName()); assertEquals(17.0, sev.getScore(), 0.01); assertEquals(3, grid.getSeverities().size()); // You can't set a score for a severity that doesn't already exist. grid.setSeverityScore("Frizzle", 1.0); assertEquals(0.0, grid.getSeverityScore("Frizzle"), 0.01); } @Test public void testClone() throws CloneNotSupportedException { LQISeverity sev = new LQISeverity("Murky", 7.0); List<LQIErrorCategory> cats = Collections.singletonList(new LQIErrorCategory("Confusion")); grid.setSeverities(Collections.singletonList(sev)); grid.setErrorCategories((cats)); LQIGrid clone = (LQIGrid)grid.clone(); assertEquals(sev, clone.getSeverity("Murky")); assertEquals(cats, clone.getErrorCategories()); } }