2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
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
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.mybmw.internal.utils;
15 import static org.junit.jupiter.api.Assertions.assertEquals;
16 import static org.junit.jupiter.api.Assertions.assertTrue;
18 import java.time.ZoneId;
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.junit.jupiter.api.Test;
22 import org.openhab.core.library.types.DateTimeType;
23 import org.openhab.core.types.State;
24 import org.openhab.core.types.UnDefType;
27 * @author Martin Grassl - initial contribution
30 public class ConverterTest {
32 void testToTitleCase() {
33 assertEquals("Closed", Converter.toTitleCase("CLOSED"));
34 assertEquals("Secured", Converter.toTitleCase("SECURED"));
35 assertEquals("Undef", Converter.toTitleCase(null));
36 assertEquals("Undef", Converter.toTitleCase(""));
37 assertEquals("Secured", Converter.toTitleCase("SECURED"));
38 assertEquals("Secured", Converter.toTitleCase("SECURED"));
39 assertEquals("Test Data", Converter.toTitleCase("test_data"));
40 assertEquals("Test-Data", Converter.toTitleCase("test-data"));
41 assertEquals("Test Data", Converter.toTitleCase("test data"));
45 void testDateConversion() {
46 State state = Converter.zonedToLocalDateTime(null, ZoneId.systemDefault());
47 assertTrue(state instanceof UnDefType);
48 state = Converter.zonedToLocalDateTime("", ZoneId.systemDefault());
49 assertTrue(state instanceof UnDefType);
50 state = Converter.zonedToLocalDateTime("2023-01-18", ZoneId.systemDefault());
51 assertTrue(state instanceof UnDefType);
52 state = Converter.zonedToLocalDateTime("2023-01-18T18:07:59.076Z", ZoneId.systemDefault());
53 assertTrue(state instanceof DateTimeType);
54 state = Converter.zonedToLocalDateTime("2023-10-28T17:41:17Z", ZoneId.systemDefault());
55 assertTrue(state instanceof DateTimeType);