]> git.basschouten.com Git - openhab-addons.git/blob
ae9997257bd0f6a4725a887d19f98353986af32e
[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.Assert.assertEquals;
19
20 import java.io.FileReader;
21 import java.util.TreeMap;
22
23 import org.junit.BeforeClass;
24 import org.junit.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 {
32     private static Gson gson;
33
34     @BeforeClass
35     public static void setUpBeforeClass()
36     {
37         gson = GsonGenerator.create(true);
38     }
39
40     @Test
41     @SuppressWarnings("serial")
42     public void testSerialize() throws Exception
43     {
44         UpdateAction action = new UpdateAction().withId("countdown.configure")
45                                                 // @formatter:off
46                                                 .withParameters(new TreeMap<String, Parameter>(){{put("duration", new IntegerParameter().withValue(30));}});
47                                                 // @formatter:on
48         assertEquals(readJson("update-action.json"), gson.toJson(action));
49     }
50
51     @Test(expected = UnsupportedOperationException.class)
52     public void testDeserialize() throws Exception
53     {
54         try (FileReader reader = new FileReader(getTestDataFile("update-action.json")))
55         {
56             gson.fromJson(reader, UpdateAction.class);
57         }
58     }
59 }