/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.bearsoft.gui.grid.constraints; import org.junit.Test; import static org.junit.Assert.*; /** * * @author Gala */ public class ConstraintCalculationsTest { @Test public void windowTest() { int windowMin = 1; int windowMax = 3; LinearConstraint window = new LinearConstraint(windowMin, windowMax); assertEquals(0, window.constraint(0)); assertEquals(0, window.constraint(1));// assertEquals(1, window.constraint(2)); assertEquals(2, window.constraint(3));// assertEquals(2, window.constraint(4)); assertEquals(2, window.constraint(5)); } @Test public void infiniteLeftTest() { int windowMin = 0; int windowMax = 3; LinearConstraint window = new LinearConstraint(windowMin, windowMax); assertEquals(0, window.constraint(0)); assertEquals(1, window.constraint(1)); assertEquals(2, window.constraint(2)); assertEquals(3, window.constraint(3));// assertEquals(3, window.constraint(4)); assertEquals(3, window.constraint(5)); } @Test public void infiniteRightTest() { int windowMin = 1; int windowMax = Integer.MAX_VALUE; LinearConstraint window = new LinearConstraint(windowMin, windowMax); assertEquals(0, window.constraint(0)); assertEquals(0, window.constraint(1));// assertEquals(1, window.constraint(2)); assertEquals(2, window.constraint(3)); assertEquals(3, window.constraint(4)); assertEquals(4, window.constraint(5)); } @Test public void windowReverseTest() { int windowMin = 1; int windowMax = 3; LinearConstraint window = new LinearConstraint(windowMin, windowMax); assertEquals(1, window.unconstraint(0));// assertTrue(window.inConstraint(window.unconstraint(0))); assertEquals(2, window.unconstraint(1)); assertTrue(window.inConstraint(window.unconstraint(1))); assertEquals(3, window.unconstraint(2));// assertTrue(window.inConstraint(window.unconstraint(2))); assertEquals(4, window.unconstraint(3)); assertFalse(window.inConstraint(window.unconstraint(3))); } @Test public void infiniteLeftReverseTest() { int windowMin = 0; int windowMax = 3; LinearConstraint window = new LinearConstraint(windowMin, windowMax); assertEquals(0, window.unconstraint(0));// assertTrue(window.inConstraint(window.unconstraint(0))); assertEquals(1, window.unconstraint(1)); assertTrue(window.inConstraint(window.unconstraint(1))); assertEquals(2, window.unconstraint(2));// assertTrue(window.inConstraint(window.unconstraint(2))); assertEquals(3, window.unconstraint(3)); assertTrue(window.inConstraint(window.unconstraint(3))); assertEquals(4, window.unconstraint(4)); assertFalse(window.inConstraint(window.unconstraint(4))); } @Test public void infiniteRightReverseTest() { int windowMin = 1; int windowMax = Integer.MAX_VALUE; LinearConstraint window = new LinearConstraint(windowMin, windowMax); assertEquals(1, window.unconstraint(0));// assertTrue(window.inConstraint(window.unconstraint(0))); assertEquals(2, window.unconstraint(1)); assertTrue(window.inConstraint(window.unconstraint(1))); assertEquals(3, window.unconstraint(2));// assertTrue(window.inConstraint(window.unconstraint(2))); assertEquals(4, window.unconstraint(3)); assertTrue(window.inConstraint(window.unconstraint(3))); assertEquals(5, window.unconstraint(4)); assertTrue(window.inConstraint(window.unconstraint(4))); assertEquals(6, window.unconstraint(5)); assertTrue(window.inConstraint(window.unconstraint(5))); } @Test public void invalidConstraintTest() { LinearConstraint nullWindow = new LinearConstraint(0, -1); assertFalse(nullWindow.isValid()); assertEquals(6, nullWindow.constraint(6)); assertEquals(4, nullWindow.unconstraint(4)); nullWindow.setMax(nullWindow.getMax()+1); assertTrue(nullWindow.isValid()); assertEquals(0, nullWindow.constraint(0)); assertEquals(0, nullWindow.constraint(1)); assertEquals(0, nullWindow.constraint(2)); assertEquals(0, nullWindow.unconstraint(0)); assertEquals(1, nullWindow.unconstraint(1)); } }