]> git.basschouten.com Git - openhab-addons.git/blob
04fff95de3e42b58e2255741ce2260e8cbcdd35a
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2024 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.modbus.internal;
14
15 import static org.junit.jupiter.api.Assertions.*;
16
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.junit.jupiter.api.Test;
19 import org.mockito.Mockito;
20 import org.osgi.framework.BundleContext;
21
22 /**
23  * @author Sami Salonen - Initial contribution
24  */
25 @NonNullByDefault
26 public class CascadedValueTransformationImplTest {
27
28     @Test
29     public void testTransformation() {
30         CascadedValueTransformationImpl transformation = new CascadedValueTransformationImpl(
31                 "REGEX(myregex:foo(.*))∩REG_(EX(myregex:foo(.*))∩JIHAA:test");
32         assertEquals(3, transformation.getTransformations().size());
33         assertEquals("REGEX", transformation.getTransformations().get(0).transformationServiceName);
34         assertEquals("myregex:foo(.*)", transformation.getTransformations().get(0).transformationServiceParam);
35
36         assertEquals("REG_", transformation.getTransformations().get(1).transformationServiceName);
37         assertEquals("EX(myregex:foo(.*)", transformation.getTransformations().get(1).transformationServiceParam);
38
39         assertEquals("JIHAA", transformation.getTransformations().get(2).transformationServiceName);
40         assertEquals("test", transformation.getTransformations().get(2).transformationServiceParam);
41
42         assertEquals(3, transformation.toString().split("∩").length);
43     }
44
45     @Test
46     public void testTransformationEmpty() {
47         CascadedValueTransformationImpl transformation = new CascadedValueTransformationImpl("");
48         assertFalse(transformation.isIdentityTransform());
49         assertEquals("", transformation.transform(Mockito.mock(BundleContext.class), "xx"));
50     }
51
52     @Test
53     public void testTransformationNull() {
54         CascadedValueTransformationImpl transformation = new CascadedValueTransformationImpl(null);
55         assertFalse(transformation.isIdentityTransform());
56         assertEquals("", transformation.transform(Mockito.mock(BundleContext.class), "xx"));
57     }
58
59     @Test
60     public void testTransformationDefault() {
61         CascadedValueTransformationImpl transformation = new CascadedValueTransformationImpl("deFault");
62         assertTrue(transformation.isIdentityTransform());
63         assertEquals("xx", transformation.transform(Mockito.mock(BundleContext.class), "xx"));
64     }
65
66     @Test
67     public void testTransformationDefaultChained() {
68         CascadedValueTransformationImpl transformation = new CascadedValueTransformationImpl("deFault∩DEFAULT∩default");
69         assertTrue(transformation.isIdentityTransform());
70         assertEquals("xx", transformation.transform(Mockito.mock(BundleContext.class), "xx"));
71     }
72
73     @Test
74     public void testTransformationDefaultChainedWithStatic() {
75         CascadedValueTransformationImpl transformation = new CascadedValueTransformationImpl(
76                 "deFault∩DEFAULT∩default∩static");
77         assertFalse(transformation.isIdentityTransform());
78         assertEquals("static", transformation.transform(Mockito.mock(BundleContext.class), "xx"));
79     }
80 }