blob: 4c28af5b71d3cf67b8d243dd231397d6046d3dcc [file] [log] [blame]
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2014-present Open Networking Laboratory
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07003 *
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 */
Brian O'Connorabafb502014-12-02 22:26:20 -080016package org.onosproject;
tom53efab52014-10-07 17:43:48 -070017
18import com.google.common.testing.EqualsTester;
19import org.junit.Test;
Brian O'Connorabafb502014-12-02 22:26:20 -080020import org.onosproject.core.Version;
tom53efab52014-10-07 17:43:48 -070021
22import static org.junit.Assert.*;
Brian O'Connorabafb502014-12-02 22:26:20 -080023import static org.onosproject.core.Version.version;
tom53efab52014-10-07 17:43:48 -070024
25/**
26 * Tests of the version descriptor.
27 */
28public class VersionTest {
29
30 @Test
31 public void fromParts() {
Thomas Vachuska045c01d2014-12-04 00:18:06 -080032 Version v = version(1, 2, "3", "4321");
tom53efab52014-10-07 17:43:48 -070033 assertEquals("wrong major", 1, v.major());
34 assertEquals("wrong minor", 2, v.minor());
Thomas Vachuska045c01d2014-12-04 00:18:06 -080035 assertEquals("wrong patch", "3", v.patch());
tom53efab52014-10-07 17:43:48 -070036 assertEquals("wrong build", "4321", v.build());
37 }
38
39 @Test
40 public void fromString() {
41 Version v = version("1.2.3.4321");
42 assertEquals("wrong major", 1, v.major());
43 assertEquals("wrong minor", 2, v.minor());
Thomas Vachuska045c01d2014-12-04 00:18:06 -080044 assertEquals("wrong patch", "3", v.patch());
tom53efab52014-10-07 17:43:48 -070045 assertEquals("wrong build", "4321", v.build());
46 }
47
48 @Test
49 public void snapshot() {
50 Version v = version("1.2.3-SNAPSHOT");
51 assertEquals("wrong major", 1, v.major());
52 assertEquals("wrong minor", 2, v.minor());
Thomas Vachuska045c01d2014-12-04 00:18:06 -080053 assertEquals("wrong patch", "3", v.patch());
tom53efab52014-10-07 17:43:48 -070054 assertEquals("wrong build", "SNAPSHOT", v.build());
55 }
56
57 @Test
Thomas Vachuska045c01d2014-12-04 00:18:06 -080058 public void shortNumber() {
59 Version v = version("1.2.3");
60 assertEquals("wrong major", 1, v.major());
61 assertEquals("wrong minor", 2, v.minor());
62 assertEquals("wrong patch", "3", v.patch());
63 assertEquals("wrong build", null, v.build());
64 }
65
66 @Test
Thomas Vachuska93d944c2015-06-16 09:48:55 -070067 public void minimal() {
68 Version v = version("1.4");
69 assertEquals("wrong major", 1, v.major());
70 assertEquals("wrong minor", 4, v.minor());
71 assertEquals("wrong patch", null, v.patch());
72 assertEquals("wrong build", null, v.build());
73 }
74 @Test
tom53efab52014-10-07 17:43:48 -070075 public void testEquals() {
76 new EqualsTester()
Thomas Vachuska045c01d2014-12-04 00:18:06 -080077 .addEqualityGroup(version("1.2.3.4321"), version(1, 2, "3", "4321"))
78 .addEqualityGroup(version("1.9.3.4321"), version(1, 9, "3", "4321"))
79 .addEqualityGroup(version("1.2.8.4321"), version(1, 2, "8", "4321"))
80 .addEqualityGroup(version("1.2.3.x"), version(1, 2, "3", "x"))
tom53efab52014-10-07 17:43:48 -070081 .testEquals();
82 }
Brian O'Connorabafb502014-12-02 22:26:20 -080083}