Example usage for org.apache.commons.math3.exception DimensionMismatchException getArgument

List of usage examples for org.apache.commons.math3.exception DimensionMismatchException getArgument

Introduction

In this page you can find the example usage for org.apache.commons.math3.exception DimensionMismatchException getArgument.

Prototype

public Number getArgument() 

Source Link

Usage

From source file:org.orekit.propagation.SpacecraftStateTest.java

@Test
public void testAdditionalStates() throws OrekitException {
    final SpacecraftState state = propagator.propagate(orbit.getDate().shiftedBy(60));
    final SpacecraftState extended = state.addAdditionalState("test-1", new double[] { 1.0, 2.0 })
            .addAdditionalState("test-2", 42.0);
    Assert.assertEquals(0, state.getAdditionalStates().size());
    Assert.assertFalse(state.hasAdditionalState("test-1"));
    try {//  w w w . j  a v  a2 s  . co m
        state.getAdditionalState("test-1");
        Assert.fail("an exception should have been thrown");
    } catch (OrekitException oe) {
        Assert.assertEquals(oe.getSpecifier(), OrekitMessages.UNKNOWN_ADDITIONAL_STATE);
        Assert.assertEquals(oe.getParts()[0], "test-1");
    }
    try {
        state.ensureCompatibleAdditionalStates(extended);
        Assert.fail("an exception should have been thrown");
    } catch (OrekitException oe) {
        Assert.assertEquals(oe.getSpecifier(), OrekitMessages.UNKNOWN_ADDITIONAL_STATE);
        Assert.assertTrue(oe.getParts()[0].toString().startsWith("test-"));
    }
    try {
        extended.ensureCompatibleAdditionalStates(state);
        Assert.fail("an exception should have been thrown");
    } catch (OrekitException oe) {
        Assert.assertEquals(oe.getSpecifier(), OrekitMessages.UNKNOWN_ADDITIONAL_STATE);
        Assert.assertTrue(oe.getParts()[0].toString().startsWith("test-"));
    }
    try {
        extended.ensureCompatibleAdditionalStates(extended.addAdditionalState("test-2", new double[7]));
        Assert.fail("an exception should have been thrown");
    } catch (DimensionMismatchException dme) {
        Assert.assertEquals(dme.getArgument(), 7);
    }
    Assert.assertEquals(2, extended.getAdditionalStates().size());
    Assert.assertTrue(extended.hasAdditionalState("test-1"));
    Assert.assertTrue(extended.hasAdditionalState("test-2"));
    Assert.assertEquals(1.0, extended.getAdditionalState("test-1")[0], 1.0e-15);
    Assert.assertEquals(2.0, extended.getAdditionalState("test-1")[1], 1.0e-15);
    Assert.assertEquals(42.0, extended.getAdditionalState("test-2")[0], 1.0e-15);

    // test various constructors
    Map<String, double[]> map = new HashMap<String, double[]>();
    map.put("test-3", new double[] { -6.0 });
    SpacecraftState sO = new SpacecraftState(state.getOrbit(), map);
    Assert.assertEquals(-6.0, sO.getAdditionalState("test-3")[0], 1.0e-15);
    SpacecraftState sOA = new SpacecraftState(state.getOrbit(), state.getAttitude(), map);
    Assert.assertEquals(-6.0, sOA.getAdditionalState("test-3")[0], 1.0e-15);
    SpacecraftState sOM = new SpacecraftState(state.getOrbit(), state.getMass(), map);
    Assert.assertEquals(-6.0, sOM.getAdditionalState("test-3")[0], 1.0e-15);
    SpacecraftState sOAM = new SpacecraftState(state.getOrbit(), state.getAttitude(), state.getMass(), map);
    Assert.assertEquals(-6.0, sOAM.getAdditionalState("test-3")[0], 1.0e-15);

}