package test.dr.inference.model; import dr.inference.model.Parameter; import dr.inference.model.VectorSliceParameter; import test.dr.math.MathTestCase; /** * @author Marc A. Suchard */ public class VectorSliceParameterTest extends MathTestCase { public void testVectorSlice() { Parameter pA = new Parameter.Default(new double[] { 0.0, 1.0, 2.0 }); Parameter pB = new Parameter.Default(new double[] { 3.0, 4.0, 5.0 }); VectorSliceParameter slice = new VectorSliceParameter("slice",1); slice.addParameter(pA); slice.addParameter(pB); assertEquals(2, slice.getDimension()); assertEquals(1.0, slice.getParameterValue(0), tolerance); assertEquals(4.0, slice.getParameterValue(1), tolerance); pA.setParameterValue(1, 41.0); assertEquals(41.0, slice.getParameterValue(0), tolerance); slice.setParameterValue(1, 44.0); assertEquals(44.0, pB.getParameterValue(1), tolerance); } private static final double tolerance = 1E-6; }