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.tradfri.internal.model;
15 import static org.junit.jupiter.api.Assertions.*;
17 import java.util.Arrays;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.junit.jupiter.api.Test;
23 * Tests for {@link TradfriVersion}.
25 * @author Christoph Weitkamp - Initial contribution
28 public class TradfriVersionTest {
30 private static final int LESS_THAN = -1;
31 private static final int EQUAL_TO = 0;
32 private static final int GREATER_THAN = 1;
34 private static final String VERSION_STRING = "1.2.42";
35 private static final TradfriVersion VERSION = new TradfriVersion(VERSION_STRING);
38 public void testIllegalArgumentException() throws IllegalArgumentException {
39 assertThrows(IllegalArgumentException.class, () -> new TradfriVersion("FAILURE"));
43 public void testParts() {
44 assertEquals(Arrays.asList(1, 2, 42), VERSION.parts);
48 public void testCompareToEqualTo() {
49 assertEquals(EQUAL_TO, VERSION.compareTo(VERSION));
50 assertEquals(EQUAL_TO, VERSION.compareTo(new TradfriVersion(VERSION_STRING)));
54 public void testCompareToLessThan() {
55 assertEquals(LESS_THAN, VERSION.compareTo(new TradfriVersion("2")));
56 assertEquals(LESS_THAN, VERSION.compareTo(new TradfriVersion("1.3")));
57 assertEquals(LESS_THAN, VERSION.compareTo(new TradfriVersion("1.2.50")));
58 assertEquals(LESS_THAN, VERSION.compareTo(new TradfriVersion("1.2.42.5")));
62 public void testCompareToGreaterThan() {
63 assertEquals(GREATER_THAN, VERSION.compareTo(new TradfriVersion("1")));
64 assertEquals(GREATER_THAN, VERSION.compareTo(new TradfriVersion("1.1")));
65 assertEquals(GREATER_THAN, VERSION.compareTo(new TradfriVersion("1.2.30")));
68 @SuppressWarnings("unlikely-arg-type")
70 public void testEquals() {
71 assertTrue(VERSION.equals(VERSION));
72 assertTrue(VERSION.equals(new TradfriVersion(VERSION_STRING)));
74 assertFalse(VERSION.equals((TradfriVersion) null));
75 assertFalse(VERSION.equals(Integer.valueOf("1")));
76 assertFalse(VERSION.equals(new TradfriVersion("1.2.5")));
80 public void testToString() {
81 assertEquals(VERSION_STRING, VERSION.toString());