예제 #1
0
        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)));
        }
예제 #2
0
        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)));
        }
예제 #3
0
        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));
        }