/*******************************************************************************
* Copyright (c) 2012 Original authors and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Original authors and others - initial API and implementation
******************************************************************************/
package org.eclipse.nebula.widgets.nattable.selection;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.eclipse.nebula.widgets.nattable.coordinate.Range;
import org.junit.Test;
public class RangeTest {
@Test
public void range() throws Exception {
// 1 cell
Range range = new Range(2, 3);
assertTrue(range.contains(2));
assertFalse(range.contains(3));
}
@Test
public void testEquality() throws Exception {
assertTrue(new Range(3, 10).equals(new Range(3, 10)));
assertFalse(new Range(3, 10).equals(new Range(3, 11)));
}
@Test
public void sortByStart() throws Exception {
List<Range> ranges = new ArrayList<Range>();
ranges.add(new Range(3, 5));
ranges.add(new Range(3, 7));
ranges.add(new Range(20, 25));
ranges.add(new Range(2, 16));
Range.sortByStart(ranges);
assertTrue(ranges.get(0).start == 2);
assertTrue(ranges.get(1).start == 3);
assertTrue(ranges.get(2).start == 3);
assertTrue(ranges.get(3).start == 20);
}
@SuppressWarnings("boxing")
@Test
public void getMembers() throws Exception {
Set<Integer> members = new Range(3, 10).getMembers();
assertEquals(7, members.size());
HashSet<Integer> expectedMembes = new HashSet<Integer>(Arrays.asList(3,
4, 5, 6, 7, 8, 9));
assertEquals(expectedMembes, members);
}
}