]> git.basschouten.com Git - openhab-addons.git/blob
03f283ca079085676b0c25e5f02a63415c8fe322
[openhab-addons.git] /
1 /**
2  * Copyright 2017-2018 Gregory Moyer and contributors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.openhab.binding.lametrictime.api.local.model;
17
18 import static org.junit.jupiter.api.Assertions.*;
19
20 import java.io.FileReader;
21 import java.util.TreeMap;
22
23 import org.junit.jupiter.api.BeforeAll;
24 import org.junit.jupiter.api.Test;
25 import org.openhab.binding.lametrictime.api.common.impl.GsonGenerator;
26 import org.openhab.binding.lametrictime.api.test.AbstractTest;
27
28 import com.google.gson.Gson;
29
30 public class UpdateActionTest extends AbstractTest {
31     private static Gson gson;
32
33     @BeforeAll
34     public static void setUpBeforeClass() {
35         gson = GsonGenerator.create(true);
36     }
37
38     @Test
39     @SuppressWarnings("serial")
40     public void testSerialize() throws Exception {
41         UpdateAction action = new UpdateAction().withId("countdown.configure")
42         // @formatter:off
43                                                 .withParameters(new TreeMap<String, Parameter>(){{put("duration", new IntegerParameter().withValue(30));}});
44                                                 // @formatter:on
45         assertEquals(readJson("update-action.json"), gson.toJson(action));
46     }
47
48     @Test
49     public void testDeserialize() throws Exception {
50         try (FileReader reader = new FileReader(getTestDataFile("update-action.json"))) {
51             assertThrows(UnsupportedOperationException.class, () -> gson.fromJson(reader, UpdateAction.class));
52         }
53     }
54 }