blob: 618c1369c93218c65f30b09325c7f271e107b079 [file] [log] [blame]
// SegmentBuilderTest.java
package org.eclipse.stem.definitions.adapters.spatial.geo;
/*******************************************************************************
* Copyright (c) 2006 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
import junit.framework.TestCase;
import org.eclipse.stem.definitions.adapters.spatial.geo.LatLong.Segment;
import org.eclipse.stem.definitions.adapters.spatial.geo.LatLong.SegmentBuilder;
/**
* This class is a JUnit test for LatLong.SegmentBuilder
*/
@SuppressWarnings("all")
public class SegmentBuilderTest extends TestCase {
protected SegmentBuilder fixture = null;
@SuppressWarnings("unqualified-field-access")
private SegmentBuilder getFixture() {
return fixture;
}
protected void setFixture(SegmentBuilder fixture) {
this.fixture = fixture;
}
/**
* @return the fixture for testing
*/
public static SegmentBuilder createFixture() {
return new SegmentBuilder();
} // createFixture
/**
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
setFixture(createFixture());
}
/**
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception {
setFixture(null);
}
/**
* Test method for
* {@link org.eclipse.stem.definitions.adapters.spatial.geo.LatLong.SegmentBuilder#add(java.lang.String, java.lang.String)}.
*/
public void testAddStringString() {
final SegmentBuilder sb = getFixture();
sb.add("1.5", "2.5");
final Segment segment = sb.toSegment();
assertTrue(segment.size() == 1);
assertTrue(segment.latitude(0) == 1.5);
assertTrue(segment.longitude(0) == 2.5);
} // testAddStringString
/**
* Test method for
* {@link org.eclipse.stem.definitions.adapters.spatial.geo.LatLong.SegmentBuilder#add(double, double)}.
*/
public void testAddDoubleDouble() {
final SegmentBuilder sb = getFixture();
sb.add(1.5, 2.5);
final Segment segment = sb.toSegment();
assertTrue(segment.size() == 1);
assertTrue(segment.latitude(0) == 1.5);
assertTrue(segment.longitude(0) == 2.5);
} // testAddDoubleDouble
/**
* Test method for
* {@link org.eclipse.stem.definitions.adapters.spatial.geo.LatLong.SegmentBuilder#size()}.
*/
public void testSize() {
final SegmentBuilder sb = getFixture();
assertTrue(sb.size() == 0);
sb.add(1.5, 2.5);
assertTrue(sb.size() == 1);
sb.add(3.5, 4.5);
assertTrue(sb.size() == 2);
} // testSize
/**
* Test method for
* {@link org.eclipse.stem.definitions.adapters.spatial.geo.LatLong.SegmentBuilder#clear()}.
*/
public void testClear() {
final SegmentBuilder sb = getFixture();
assertTrue(sb.size() == 0);
sb.add(1.5, 2.5);
assertTrue(sb.size() == 1);
sb.add(3.5, 4.5);
assertTrue(sb.size() == 2);
sb.clear();
assertTrue(sb.size() == 0);
} // testClear
/**
* Test toSegment with filtering
*/
public void testToSegment() {
final SegmentBuilder sb = getFixture();
assertTrue(sb.size() == 0);
sb.add(0, 0);
sb.add(1, 1);
sb.add(2, 2);
sb.add(3, 3);
sb.add(4, 4);
sb.add(5, 5);
sb.add(6, 6);
sb.add(7, 7);
assertTrue(sb.size() == 8);
final Segment filteredSegment4 = sb.toSegment(4);
assertTrue(filteredSegment4.size() == 3);
assertTrue(filteredSegment4.latitude(0) == 0);
assertTrue(filteredSegment4.longitude(0) == 0);
assertTrue(filteredSegment4.latitude(1) == 4);
assertTrue(filteredSegment4.longitude(1) == 4);
assertTrue(filteredSegment4.latitude(2) == 7);
assertTrue(filteredSegment4.longitude(2) == 7);
final Segment filteredSegment1 = sb.toSegment(1);
assertTrue(filteredSegment1.size() == sb.size());
assertTrue(filteredSegment1.latitude(0) == 0);
assertTrue(filteredSegment1.longitude(0) == 0);
assertTrue(filteredSegment1.latitude(1) == 1);
assertTrue(filteredSegment1.longitude(1) == 1);
assertTrue(filteredSegment1.latitude(2) == 2);
assertTrue(filteredSegment1.longitude(2) == 2);
assertTrue(filteredSegment1.latitude(3) == 3);
assertTrue(filteredSegment1.longitude(3) == 3);
assertTrue(filteredSegment1.latitude(4) == 4);
assertTrue(filteredSegment1.longitude(4) == 4);
assertTrue(filteredSegment1.latitude(5) == 5);
assertTrue(filteredSegment1.longitude(5) == 5);
assertTrue(filteredSegment1.latitude(6) == 6);
assertTrue(filteredSegment1.longitude(6) == 6);
assertTrue(filteredSegment1.latitude(7) == 7);
assertTrue(filteredSegment1.longitude(7) == 7);
final Segment filteredSegmentTooBig = sb.toSegment(sb.size());
assertTrue(filteredSegmentTooBig.size() == 3);
assertTrue(filteredSegmentTooBig.latitude(0) == 0);
assertTrue(filteredSegmentTooBig.longitude(0) == 0);
assertTrue(filteredSegmentTooBig.latitude(1) == 4);
assertTrue(filteredSegmentTooBig.longitude(1) == 4);
assertTrue(filteredSegmentTooBig.latitude(2) == 7);
assertTrue(filteredSegmentTooBig.longitude(2) == 7);
final Segment filteredSegmentSameSize = sb.toSegment(sb.size() - 1);
assertTrue(filteredSegmentSameSize.size() == 3);
assertTrue(filteredSegmentSameSize.latitude(0) == 0);
assertTrue(filteredSegmentSameSize.longitude(0) == 0);
assertTrue(filteredSegmentSameSize.latitude(1) == 4);
assertTrue(filteredSegmentSameSize.longitude(1) == 4);
assertTrue(filteredSegmentSameSize.latitude(2) == 7);
assertTrue(filteredSegmentSameSize.longitude(2) == 7);
try {
final Segment filteredSegmentTooSmall = sb.toSegment(0);
fail("Should have thrown IllegalArgumentException");
} catch (IllegalArgumentException e) {
// expected
}
} // testToSegment
} // SegmentBuilderTest