blob: d1af4b0be23850698ce719fcc3dd1c4d2e02a416 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.atlas.notification;
import org.testng.annotations.Test;
import java.util.Arrays;
import static org.testng.Assert.*;
/**
* MessageVersion tests.
*/
public class MessageVersionTest {
@Test
public void testConstructor() throws Exception {
new MessageVersion("1.0.0");
try {
new MessageVersion("foo");
fail("Expected IllegalArgumentException");
} catch (IllegalArgumentException e) {
// expected
}
try {
new MessageVersion("A.0.0");
fail("Expected IllegalArgumentException");
} catch (IllegalArgumentException e) {
// expected
}
try {
new MessageVersion("1.0.0a");
fail("Expected IllegalArgumentException");
} catch (IllegalArgumentException e) {
// expected
}
}
@Test
public void testCompareTo() throws Exception {
MessageVersion version1 = new MessageVersion("1.0.0");
MessageVersion version2 = new MessageVersion("1.0.0");
MessageVersion version3 = new MessageVersion("2.0.0");
MessageVersion version4 = new MessageVersion("1");
MessageVersion version5 = new MessageVersion("1.5");
MessageVersion version6 = new MessageVersion("1.0.5");
assertTrue(version1.compareTo(version2) == 0);
assertTrue(version2.compareTo(version1) == 0);
assertTrue(version1.compareTo(version3) < 0);
assertTrue(version3.compareTo(version1) > 0);
assertTrue(version1.compareTo(version4) == 0);
assertTrue(version4.compareTo(version1) == 0);
assertTrue(version1.compareTo(version5) < 0);
assertTrue(version5.compareTo(version1) > 0);
assertTrue(version1.compareTo(version6) < 0);
assertTrue(version6.compareTo(version1) > 0);
}
@Test
public void testEquals() throws Exception {
MessageVersion version1 = new MessageVersion("1.0.0");
MessageVersion version2 = new MessageVersion("1.0.0");
MessageVersion version3 = new MessageVersion("2.0.0");
MessageVersion version4 = new MessageVersion("1");
MessageVersion version5 = new MessageVersion("1.5");
MessageVersion version6 = new MessageVersion("1.0.5");
assertTrue(version1.equals(version2));
assertTrue(version2.equals(version1));
assertFalse(version1.equals(version3));
assertFalse(version3.equals(version1));
assertTrue(version1.equals(version4));
assertTrue(version4.equals(version1));
assertFalse(version1.equals(version5));
assertFalse(version5.equals(version1));
assertFalse(version1.equals(version6));
assertFalse(version6.equals(version1));
}
@Test
public void testHashCode() throws Exception {
MessageVersion version1 = new MessageVersion("1.0.0");
MessageVersion version2 = new MessageVersion("1.0.0");
MessageVersion version3 = new MessageVersion("1");
assertEquals(version1.hashCode(), version2.hashCode());
assertEquals(version1.hashCode(), version3.hashCode());
}
@Test
public void testGetVersionParts() throws Exception {
MessageVersion version = new MessageVersion("1.0.0");
assertTrue(Arrays.equals(new Integer[]{1}, version.getVersionParts()));
version = new MessageVersion("1.0");
assertTrue(Arrays.equals(new Integer[]{1}, version.getVersionParts()));
version = new MessageVersion("1");
assertTrue(Arrays.equals(new Integer[]{1}, version.getVersionParts()));
version = new MessageVersion("1.0.2");
assertTrue(Arrays.equals(new Integer[]{1, 0, 2}, version.getVersionParts()));
}
}