public void BoundsCheck_WithInvalidType_ThrowsError() { var vbl = new VariableContinuous(-1.2, 4.2); Assert.Throws <System.FormatException>( () => vbl.IsInBounds("bf")); }
public void AddOrWrap_MixedBounds_CorrectValuesReturned(double val1, double val2, double expectedResult) { var vbl = new VariableContinuous(-2.0, 2.0); var result = vbl.AddOrWrap(val1, val2); Assert.True(Math.Abs(expectedResult - (double)result) < 1e-6); }
public void AddOrWrap_PositiveBounds_UsingIntegers_CorrectValuesReturned(int val1, int val2, double expectedResult) { var vbl = new VariableContinuous(1.2, 4.6); var result = vbl.AddOrWrap(val1, val2); Assert.True(Math.Abs(expectedResult - (double)result) < 1e-6); }
public void BoundsCheckNonsense_ThrowsError() { var min = -1.4; var max = 2.5; var vbl = new VariableContinuous(min, max); Assert.Throws <System.FormatException>( () => vbl.IsInBounds("nonsense")); }
public void GetNearestLegalLocation_InputLocationIsLegal_ReturnsOriginal() { var min = -1.4; var max = 2.5; var vbl = new VariableContinuous(min, max); var testValue = -0.2; Assert.Equal(testValue, vbl.GetNearestLegalLocation(testValue)); }
public void TwoVariablesSame_AreEqual() { var min = -1.4; var max = 2.5; var vbl1 = new VariableContinuous(min, max); var vbl2 = new VariableContinuous(min, max); Assert.Equal(vbl1, vbl2); }
public void GetSpacedArray_WithTwoPoints_ReturnsBounds() { var min = 4.0; var max = 8.0; var vbl1 = new VariableContinuous(min, max); var points = vbl1.GetSpacedArray(2); Assert.Equal(min, points.First()); Assert.Equal(max, points.Last()); }
public void GetNearestLegalLocation_InputLocationIsLow_ReturnsLowerBound() { var min = -1.4; var max = 2.5; var vbl = new VariableContinuous(min, max); var testValue = -5.8; Assert.Equal(min, vbl.GetNearestLegalLocation(testValue)); Assert.True(vbl.IsInBounds(vbl.GetNearestLegalLocation(testValue))); }
public void GetNearestLegalLocation_InputLocationIsHigh_ReturnsUpperBound() { var min = -1.4; var max = 2.5; var vbl = new VariableContinuous(min, max); var testValue = 3.1; Assert.True(max - (double)vbl.GetNearestLegalLocation(testValue) < 1e-9); Assert.True(vbl.IsInBounds(vbl.GetNearestLegalLocation(testValue))); }
public void GetSpacedArray_WithThreePoints_ReturnsEvenSpacedArray() { var min = 4.0; var max = 8.0; var vbl1 = new VariableContinuous(min, max); var points = vbl1.GetSpacedArray(3); Assert.Equal(min, points.First()); Assert.Equal(6.0, points.ElementAt(1)); Assert.Equal(max, points.Last()); }
public void BoundsOk_CreatesOk() { var min = -1.4; var max = 2.5; var vbl = new VariableContinuous(min, max); var range = max - min; Assert.True(vbl.IsInBounds(min + range / 2)); Assert.False(vbl.IsInBounds(max + range / 2)); Assert.False(vbl.IsInBounds(min - range / 2)); }
public void CreatedWithMixedArray_ConstructsOk() { var vbl1 = new VariableContinuous(-2.5, 2.6); var vbl2 = new VariableDiscrete(-6, 1); var vbl3 = new VariableContinuous(2, 7.4); var vbl4 = new VariableDiscrete(4, 12); var space = new DecisionSpace(new List <IVariable> { vbl1, vbl2, vbl3, vbl4 }); Assert.Equal(4, space.Count); Assert.Equal(space.ElementAt(0).IsInBounds(0), vbl1.IsInBounds(0)); Assert.Equal(space.ElementAt(1).IsInBounds(0), vbl2.IsInBounds(0)); Assert.Equal(space.ElementAt(2).IsInBounds(0), vbl3.IsInBounds(0)); Assert.Equal(space.ElementAt(3).IsInBounds(0), vbl4.IsInBounds(0)); }