/* * Copyright 2011 SWM Services GmbH. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package de.swm.commons.mobile.utils; import de.swm.commons.mobile.client.utils.IntegerRange; import org.junit.Test; import java.util.Date; import static org.junit.Assert.assertEquals; public class IntegerRangeTest { @Test public void testSpan1() { IntegerRange d = new IntegerRange(); assertEquals(20, d.getSpan()); d.setRange(2000, 2010); assertEquals(10, d.getSpan()); d.setRange(1990, 2020); assertEquals(30, d.getSpan()); d = new IntegerRange(); d.setSpan(10); assertEquals(10, d.getSpan()); } @SuppressWarnings("deprecation") @Test public void testSpan2() { int current = (new Date().getYear()) + 1900; IntegerRange d = new IntegerRange(current); assertEquals(current - (d.getSpan() / 2), d.getStartValue()); assertEquals(d.getStartValue() + d.getSpan(), d.getEndValue()); d = new IntegerRange(current); d.setSpan(0); assertEquals(current, d.getStartValue()); assertEquals(current, d.getEndValue()); } @SuppressWarnings("deprecation") @Test public void testWithValue() { IntegerRange d = new IntegerRange(); Date value = new Date(70, 1, 1); d.setValue(value.getYear() + 1900); assertEquals(1970 - (d.getSpan() / 2), d.getStartValue()); assertEquals(d.getStartValue() + d.getSpan(), d.getEndValue()); d.setSpan(30); assertEquals(1955, d.getStartValue()); assertEquals(1985, d.getEndValue()); } @Test public void testWithAdaptedSpan() { IntegerRange d = new IntegerRange(50); d.setRange(1, 60); assertEquals(1, d.getStartValue()); assertEquals(60, d.getEndValue()); assertEquals(59, d.getSpan()); d.setRange(1, 30); assertEquals(1, d.getStartValue()); assertEquals(50, d.getEndValue()); assertEquals(49, d.getSpan()); d.setRange(60, 90); assertEquals(50, d.getStartValue()); assertEquals(90, d.getEndValue()); assertEquals(40, d.getSpan()); d.setValue(-1); assertEquals(50, d.getStartValue()); assertEquals(90, d.getEndValue()); assertEquals(40, d.getSpan()); d.setSpan(20); assertEquals(1, d.getStartValue()); assertEquals(21, d.getEndValue()); assertEquals(20, d.getSpan()); } @Test(expected=IllegalArgumentException.class) public void testArguments1() { @SuppressWarnings("unused") IntegerRange d = new IntegerRange(-1); } @Test(expected=IllegalArgumentException.class) public void testArguments2() { @SuppressWarnings("unused") IntegerRange d = new IntegerRange(1, -1); } @Test(expected=IllegalArgumentException.class) public void testArguments3() { @SuppressWarnings("unused") IntegerRange d = new IntegerRange(-1, 1); } @Test(expected=IllegalArgumentException.class) public void testArguments4() { @SuppressWarnings("unused") IntegerRange d = new IntegerRange(3, 2, 1); } }