/* * Copyright 2000-2013 Vaadin Ltd. * * 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 com.vaadin.client.ui.grid; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.junit.Test; import com.vaadin.shared.Range; @SuppressWarnings("static-method") public class PartitioningTest { @Test public void selfRangeTest() { final Range range = Range.between(0, 10); final Range[] partitioning = range.partitionWith(range); assertTrue("before is empty", partitioning[0].isEmpty()); assertTrue("inside is self", partitioning[1].equals(range)); assertTrue("after is empty", partitioning[2].isEmpty()); } @Test public void beforeRangeTest() { final Range beforeRange = Range.between(0, 10); final Range afterRange = Range.between(10, 20); final Range[] partitioning = beforeRange.partitionWith(afterRange); assertTrue("before is self", partitioning[0].equals(beforeRange)); assertTrue("inside is empty", partitioning[1].isEmpty()); assertTrue("after is empty", partitioning[2].isEmpty()); } @Test public void afterRangeTest() { final Range beforeRange = Range.between(0, 10); final Range afterRange = Range.between(10, 20); final Range[] partitioning = afterRange.partitionWith(beforeRange); assertTrue("before is empty", partitioning[0].isEmpty()); assertTrue("inside is empty", partitioning[1].isEmpty()); assertTrue("after is self", partitioning[2].equals(afterRange)); } @Test public void beforeAndInsideRangeTest() { final Range beforeRange = Range.between(0, 10); final Range afterRange = Range.between(5, 15); final Range[] partitioning = beforeRange.partitionWith(afterRange); assertEquals("before", Range.between(0, 5), partitioning[0]); assertEquals("inside", Range.between(5, 10), partitioning[1]); assertTrue("after is empty", partitioning[2].isEmpty()); } @Test public void insideRangeTest() { final Range fullRange = Range.between(0, 20); final Range insideRange = Range.between(5, 15); final Range[] partitioning = insideRange.partitionWith(fullRange); assertTrue("before is empty", partitioning[0].isEmpty()); assertEquals("inside", Range.between(5, 15), partitioning[1]); assertTrue("after is empty", partitioning[2].isEmpty()); } @Test public void insideAndBelowTest() { final Range beforeRange = Range.between(0, 10); final Range afterRange = Range.between(5, 15); final Range[] partitioning = afterRange.partitionWith(beforeRange); assertTrue("before is empty", partitioning[0].isEmpty()); assertEquals("inside", Range.between(5, 10), partitioning[1]); assertEquals("after", Range.between(10, 15), partitioning[2]); } @Test public void aboveAndBelowTest() { final Range fullRange = Range.between(0, 20); final Range insideRange = Range.between(5, 15); final Range[] partitioning = fullRange.partitionWith(insideRange); assertEquals("before", Range.between(0, 5), partitioning[0]); assertEquals("inside", Range.between(5, 15), partitioning[1]); assertEquals("after", Range.between(15, 20), partitioning[2]); } }