/******************************************************************************* * 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.specs; import com.galenframework.specs.RangeValue; import org.hamcrest.MatcherAssert; import org.testng.annotations.Test; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; public class RangeValueTest { @Test public void shouldImplement_equals_method() { MatcherAssert.assertThat(new RangeValue(123, 0).equals(new RangeValue(123, 0)), is(true)); assertThat(new RangeValue(122, 0).equals(new RangeValue(123, 0)), is(false)); assertThat(new RangeValue(123, 1).equals(new RangeValue(123, 0)), is(false)); } @Test public void should_convertToString() { assertThat(new RangeValue(123.00199, 3).toString(), is("123.001")); assertThat(new RangeValue(123.0199, 2).toString(), is("123.01")); assertThat(new RangeValue(123.456, 3).toString(), is("123.456")); assertThat(new RangeValue(123.459, 2).toString(), is("123.45")); assertThat(new RangeValue(123.456, 1).toString(), is("123.4")); assertThat(new RangeValue(123.456, 0).toString(), is("123")); assertThat(new RangeValue(123).toString(), is("123")); assertThat(new RangeValue(0).toString(), is("0")); assertThat(new RangeValue(0.0, 1).toString(), is("0.0")); } @Test public void should_parseFromString_withPrecision() { assertThat(RangeValue.parseRangeValue("0"), is(new RangeValue(0, 0))); assertThat(RangeValue.parseRangeValue("0.0"), is(new RangeValue(0, 1))); assertThat(RangeValue.parseRangeValue("1.0"), is(new RangeValue(10, 1))); assertThat(RangeValue.parseRangeValue("-1.0"), is(new RangeValue(-10, 1))); assertThat(RangeValue.parseRangeValue("15.049"), is(new RangeValue(15049, 3))); assertThat(RangeValue.parseRangeValue("-15.049"), is(new RangeValue(-15049, 3))); } @Test public void should_returnAsInteger() { assertThat(new RangeValue(0, 0).asInt(), is(0)); assertThat(new RangeValue(1, 1).asInt(), is(0)); assertThat(new RangeValue(10, 1).asInt(), is(1)); assertThat(new RangeValue(-19, 1).asInt(), is(-1)); assertThat(new RangeValue(1000, 2).asInt(), is(10)); assertThat(new RangeValue(-1000, 2).asInt(), is(-10)); } @Test public void should_returnAsDouble() { assertThat(new RangeValue(0, 0).asDouble(), is(0.0)); assertThat(new RangeValue(1, 1).asDouble(), is(0.1)); assertThat(new RangeValue(10, 1).asDouble(), is(1.0)); assertThat(new RangeValue(19, 1).asDouble(), is(1.9)); assertThat(new RangeValue(-19, 1).asDouble(), is(-1.9)); assertThat(new RangeValue(1000, 2).asDouble(), is(10.0)); assertThat(new RangeValue(-1000, 2).asDouble(), is(-10.0)); assertThat(new RangeValue(-1000, 5).asDouble(), is(-0.01)); } @Test public void should_convertToString_negativeNumbers() { assertThat(new RangeValue(-123.00199, 3).toString(), is("-123.001")); assertThat(new RangeValue(-123.0199, 2).toString(), is("-123.01")); assertThat(new RangeValue(-123.456, 3).toString(), is("-123.456")); assertThat(new RangeValue(-123.459, 2).toString(), is("-123.45")); assertThat(new RangeValue(-123.456, 1).toString(), is("-123.4")); assertThat(new RangeValue(-123.456, 0).toString(), is("-123")); assertThat(new RangeValue(-123).toString(), is("-123")); } @Test public void equalsToMethod_comparesWithAnotherValue() { assertThat(new RangeValue(12345, 0).equalsTo(12345), is(true)); assertThat(new RangeValue(12345, 0).equalsTo(12344), is(false)); assertThat(new RangeValue(12345, 0).equalsTo(12345.12), is(true)); assertThat(new RangeValue(12345, 0).equalsTo(12344.12), is(false)); assertThat(new RangeValue(12300, 2).equalsTo(123), is(true)); assertThat(new RangeValue(12345, 2).equalsTo(123), is(false)); assertThat(new RangeValue(12345, 2).equalsTo(123.459999), is(true)); assertThat(new RangeValue(12345, 2).equalsTo(123.449999), is(false)); } @Test public void isLessThanOrEquals_comparesWithAnotherValue() { assertThat(new RangeValue(12345, 0).isLessThanOrEquals(12345), is(true)); assertThat(new RangeValue(12345, 0).isLessThanOrEquals(12346), is(true)); assertThat(new RangeValue(12345, 0).isLessThanOrEquals(12344), is(false)); assertThat(new RangeValue(12345, 0).isLessThanOrEquals(12345.12), is(true)); assertThat(new RangeValue(12345, 0).isLessThanOrEquals(12346.01), is(true)); assertThat(new RangeValue(12345, 0).isLessThanOrEquals(12344.99), is(false)); assertThat(new RangeValue(12300, 2).isLessThanOrEquals(123), is(true)); assertThat(new RangeValue(12345, 2).isLessThanOrEquals(124), is(true)); assertThat(new RangeValue(12345, 2).isLessThanOrEquals(123), is(false)); assertThat(new RangeValue(12300, 2).isLessThanOrEquals(123.00123), is(true)); assertThat(new RangeValue(12345, 2).isLessThanOrEquals(124.123), is(true)); assertThat(new RangeValue(12345, 2).isLessThanOrEquals(122.99), is(false)); } @Test public void isGreaterThanOrEquals_comparesWithAnotherValue() { assertThat(new RangeValue(12345, 0).isGreaterThanOrEquals(12345), is(true)); assertThat(new RangeValue(12345, 0).isGreaterThanOrEquals(12344), is(true)); assertThat(new RangeValue(12345, 0).isGreaterThanOrEquals(12346), is(false)); assertThat(new RangeValue(12345, 0).isGreaterThanOrEquals(12345.12), is(true)); assertThat(new RangeValue(12345, 0).isGreaterThanOrEquals(12344.01), is(true)); assertThat(new RangeValue(12345, 0).isGreaterThanOrEquals(12346.99), is(false)); assertThat(new RangeValue(12300, 2).isGreaterThanOrEquals(123), is(true)); assertThat(new RangeValue(12345, 2).isGreaterThanOrEquals(123), is(true)); assertThat(new RangeValue(12345, 2).isGreaterThanOrEquals(124), is(false)); assertThat(new RangeValue(12300, 2).isGreaterThanOrEquals(123.00123), is(true)); assertThat(new RangeValue(12345, 2).isGreaterThanOrEquals(123.01), is(true)); assertThat(new RangeValue(12345, 2).isGreaterThanOrEquals(123.46), is(false)); } }