/******************************************************************************* * Mission Control Technologies, Copyright (c) 2009-2012, United States Government * as represented by the Administrator of the National Aeronautics and Space * Administration. All rights reserved. * * The MCT platform is 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. * * MCT includes source code licensed under additional open source licenses. See * the MCT Open Source Licenses file included with this distribution or the About * MCT Licenses dialog available at runtime from the MCT Help menu for additional * information. *******************************************************************************/ package plotter.internal; import java.util.HashMap; import java.util.Map; import junit.framework.TestCase; public class JUnitRangeSet extends TestCase { public void testGeneral() { RangeSet r = new RangeSet(); assertNull(r.getData()); assertEquals(Double.POSITIVE_INFINITY, r.getMin()); assertEquals(Double.NEGATIVE_INFINITY, r.getMax()); r.add(1, 2); assertNull(r.getData()); assertEquals(1.0, r.getMin()); assertEquals(2.0, r.getMax()); r.add(3, 4); Map<Double, Double> m = new HashMap<Double, Double>(); m.put(1.0, 2.0); m.put(3.0, 4.0); assertEquals(m, r.getData()); } public void testOverlap1() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(.5, 1.5); Map<Double, Double> m = new HashMap<Double, Double>(); m.put(.5, 2.0); m.put(3.0, 4.0); assertEquals(m, r.getData()); } public void testOverlap2() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(.5, 2.5); Map<Double, Double> m = new HashMap<Double, Double>(); m.put(.5, 2.5); m.put(3.0, 4.0); assertEquals(m, r.getData()); } public void testOverlap3() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(.5, 3.5); assertNull(r.getData()); assertEquals(.5, r.getMin()); assertEquals(4.0, r.getMax()); } public void testOverlap4() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(.5, 4.5); assertNull(r.getData()); assertEquals(.5, r.getMin()); assertEquals(4.5, r.getMax()); } public void testOverlap5() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(1.5, 1.75); Map<Double, Double> m = new HashMap<Double, Double>(); m.put(1.0, 2.0); m.put(3.0, 4.0); assertEquals(m, r.getData()); } public void testOverlap6() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(1.5, 2.5); Map<Double, Double> m = new HashMap<Double, Double>(); m.put(1.0, 2.5); m.put(3.0, 4.0); assertEquals(m, r.getData()); } public void testOverlap7() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(1.5, 3.5); assertNull(r.getData()); assertEquals(1.0, r.getMin()); assertEquals(4.0, r.getMax()); } public void testOverlap8() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(1.5, 4.5); assertNull(r.getData()); assertEquals(1.0, r.getMin()); assertEquals(4.5, r.getMax()); } public void testOverlapMultiple1() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(5, 6); r.add(1.5, 5.5); assertNull(r.getData()); assertEquals(1.0, r.getMin()); assertEquals(6.0, r.getMax()); } public void testOverlapMultiple2() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(5, 6); r.add(7, 8); r.add(1.5, 5.5); Map<Double, Double> m = new HashMap<Double, Double>(); m.put(1.0, 6.0); m.put(7.0, 8.0); assertEquals(m, r.getData()); } public void testToStringEmpty() { RangeSet r = new RangeSet(); assertEquals("{}", r.toString()); } public void testToStringOne() { RangeSet r = new RangeSet(); r.add(1, 2); assertEquals("{(1.0:2.0)}", r.toString()); } public void testToStringMany() { RangeSet r = new RangeSet(); r.add(1, 2); r.add(3, 4); r.add(5, 6); assertEquals("{(1.0:2.0),(3.0:4.0),(5.0:6.0)}", r.toString()); } }