]> git.basschouten.com Git - openhab-addons.git/blob
0ea218247911a3e26b1c785bc888f192f9338b0f
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2022 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.avmfritz.internal.dto;
14
15 import static org.junit.jupiter.api.Assertions.*;
16
17 import java.math.BigDecimal;
18
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.junit.jupiter.api.Test;
21
22 /**
23  * Tests for {@link HeatingModel} methods.
24  *
25  * @author Christoph Weitkamp - Initial contribution
26  */
27 @NonNullByDefault
28 public class HeatingModelTest {
29
30     private static final BigDecimal BIGDECIMAL_FOURTEEN = new BigDecimal("14.0");
31     private static final BigDecimal BIGDECIMAL_FOURTEEN_POINT_FIVE = new BigDecimal("14.5");
32
33     @Test
34     public void validateTemperatureConversionFromCelsius() {
35         assertEquals(BigDecimal.ZERO, HeatingModel.fromCelsius(null));
36         assertEquals(HeatingModel.TEMP_FRITZ_MIN, HeatingModel.fromCelsius(BigDecimal.ONE));
37         assertEquals(HeatingModel.TEMP_FRITZ_MIN, HeatingModel.fromCelsius(new BigDecimal("7.5")));
38         assertEquals(new BigDecimal("16.00"), HeatingModel.fromCelsius(HeatingModel.TEMP_CELSIUS_MIN));
39         assertEquals(new BigDecimal("28.00"), HeatingModel.fromCelsius(BIGDECIMAL_FOURTEEN));
40         assertEquals(new BigDecimal("29.00"), HeatingModel.fromCelsius(BIGDECIMAL_FOURTEEN_POINT_FIVE));
41         assertEquals(new BigDecimal("56.00"), HeatingModel.fromCelsius(HeatingModel.TEMP_CELSIUS_MAX));
42         assertEquals(HeatingModel.TEMP_FRITZ_MAX, HeatingModel.fromCelsius(new BigDecimal("28.5")));
43         assertEquals(HeatingModel.TEMP_FRITZ_MAX, HeatingModel.fromCelsius(new BigDecimal("35")));
44     }
45
46     @Test
47     public void validateTemperatureConversionToCelsius() {
48         assertEquals(BigDecimal.ZERO, HeatingModel.toCelsius(null));
49         assertEquals(BIGDECIMAL_FOURTEEN, HeatingModel.toCelsius(new BigDecimal("28")));
50         assertEquals(BIGDECIMAL_FOURTEEN_POINT_FIVE, HeatingModel.toCelsius(new BigDecimal("29")));
51         assertEquals(new BigDecimal("6.0"), HeatingModel.toCelsius(HeatingModel.TEMP_FRITZ_OFF));
52         assertEquals(new BigDecimal("30.0"), HeatingModel.toCelsius(HeatingModel.TEMP_FRITZ_ON));
53     }
54
55     @Test
56     public void validateTemperatureNormalization() {
57         assertEquals(BIGDECIMAL_FOURTEEN, HeatingModel.normalizeCelsius(BIGDECIMAL_FOURTEEN));
58         assertEquals(BIGDECIMAL_FOURTEEN, HeatingModel.normalizeCelsius(new BigDecimal("13.9")));
59         assertEquals(BIGDECIMAL_FOURTEEN, HeatingModel.normalizeCelsius(new BigDecimal("14.1")));
60         assertEquals(BIGDECIMAL_FOURTEEN_POINT_FIVE, HeatingModel.normalizeCelsius(new BigDecimal("14.4")));
61         assertEquals(BIGDECIMAL_FOURTEEN_POINT_FIVE, HeatingModel.normalizeCelsius(new BigDecimal("14.6")));
62     }
63 }