/******************************************************************************* * Copyright 2017 Ivan Shubin http://galenframework.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package com.galenframework.tests.validation; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import com.galenframework.specs.Range; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; public class RangeTest { @Test(dataProvider="provideRangeChecks") public void shouldCheckRange(Range range, Double offset, boolean expectedResult) { assertThat(range.holds(offset), is(expectedResult)); } @DataProvider public Object[][] provideRangeChecks() { return new Object[][]{ {Range.exact(10), 10.0, true}, {Range.exact(10), 10.1, true}, {Range.exact(10), 9.0, false}, {Range.exact(-10), -10.0, true}, {Range.exact(-10), -10.1, true}, {Range.exact(-10), -9.0, false}, {Range.between(10, 20), 10.0, true}, {Range.between(10, 20), 11.0, true}, {Range.between(10, 20), 20.0, true}, {Range.between(10, 20), 10.1, true}, {Range.between(10, 20), 9.9, false}, {Range.between(10, 20), 20.1, true}, {Range.between(-10, -20), -11.0, false}, {Range.between(-10, -20), -9.0, false}, {Range.greaterThan(10), 10.0, false}, {Range.greaterThan(10), 10.1, false}, {Range.greaterThan(10), 10.99999, false}, {Range.greaterThan(10), 15.0, true}, {Range.greaterThan(10), 5.0, false}, {Range.lessThan(10), 9.0, true}, {Range.lessThan(10), 10.0, false}, {Range.lessThan(10), 15.0, false} }; } }