package org.openhab.domain.rule.operators; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class LessOrEqualNumberRuleOperatorTest { private LessOrEqualNumberRuleOperator mSut; @Before public void setUp() throws Exception { mSut = new LessOrEqualNumberRuleOperator(); } @Test public void testNumberLessOrEqual() { //IllegalArgumentException shall be thrown if only one operation value is used. try { mSut.getOperationResult(1); Assert.assertFalse(true); } catch (Exception e) { Assert.assertTrue(e instanceof IllegalArgumentException); } //IllegalArgumentException shall be thrown if more than two operation values is used. try { mSut.getOperationResult(1, 2, 3); Assert.assertFalse(true); } catch (Exception e) { Assert.assertTrue(e instanceof IllegalArgumentException); } //Integer 10 <= 11 = True Assert.assertTrue(mSut.getOperationResult(10, 11)); //Integer 11 <= 10 = False Assert.assertFalse(mSut.getOperationResult(11, 10)); //Integer 10 <= Float 11 = True Assert.assertTrue(mSut.getOperationResult(10, (float) 11)); //Double 10.1 <= Float 10.1 = True Assert.assertTrue(mSut.getOperationResult(10.1, 10.1f)); //Double 10.1 <= Float 10.2 = True Assert.assertTrue(mSut.getOperationResult(10.1, 10.2f)); //Float 8.9 <= Float 9 = True Assert.assertTrue(mSut.getOperationResult(8.9f, (float) 9)); //Float 34.7 <= Float 9 = False Assert.assertFalse(mSut.getOperationResult(34.7f, (float) 9)); //Float 34.7 <= Float 34.7 = True Assert.assertTrue(mSut.getOperationResult(34.7f, 34.7f)); //Double 34.7 <= Double 34.7 = True Assert.assertTrue(mSut.getOperationResult(34.7, 34.7)); //Double -3 <= Double 10 = True Assert.assertTrue(mSut.getOperationResult((double) -3, (double) 10)); } }