blob: 52e98c281f682314002f61e9a68656abc6159292 [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.geode.internal.serialization;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class KnownVersionJUnitTest {
@Test
public void testKnownVersionClass() {
compare(KnownVersion.GFE_90, KnownVersion.GFE_81);
compare(KnownVersion.GEODE_1_1_0, KnownVersion.GFE_90);
compare(KnownVersion.GEODE_1_1_1, KnownVersion.GEODE_1_1_0);
compare(KnownVersion.GEODE_1_2_0, KnownVersion.GEODE_1_1_1);
compare(KnownVersion.GEODE_1_3_0, KnownVersion.GEODE_1_2_0);
compare(KnownVersion.GEODE_1_4_0, KnownVersion.GEODE_1_3_0);
compare(KnownVersion.GEODE_1_5_0, KnownVersion.GEODE_1_4_0);
compare(KnownVersion.GEODE_1_6_0, KnownVersion.GEODE_1_5_0);
compare(KnownVersion.GEODE_1_7_0, KnownVersion.GEODE_1_6_0);
compare(KnownVersion.GEODE_1_8_0, KnownVersion.GEODE_1_7_0);
compare(KnownVersion.GEODE_1_9_0, KnownVersion.GEODE_1_8_0);
compare(KnownVersion.GEODE_1_10_0, KnownVersion.GEODE_1_9_0);
compare(KnownVersion.GEODE_1_11_0, KnownVersion.GEODE_1_10_0);
compare(KnownVersion.GEODE_1_12_0, KnownVersion.GEODE_1_11_0);
compare(KnownVersion.GEODE_1_12_1, KnownVersion.GEODE_1_12_0);
compare(KnownVersion.GEODE_1_13_0, KnownVersion.GEODE_1_12_1);
compare(KnownVersion.GEODE_1_13_1, KnownVersion.GEODE_1_13_0);
compare(KnownVersion.GEODE_1_14_0, KnownVersion.GEODE_1_13_1);
}
private void compare(KnownVersion later, KnownVersion earlier) {
assertThat(later).isEqualTo(later);
assertThat(later).isNotEqualTo(earlier);
assertThat(later).isGreaterThan(earlier);
assertThat(later).isEqualByComparingTo(later);
assertThat(earlier).isLessThan(later);
assertThat((Version) later).isGreaterThan(Versioning.getVersion(earlier.ordinal()));
assertThat((Version) later).isEqualByComparingTo(Versioning.getVersion(later.ordinal()));
assertThat((Version) earlier).isLessThan(Versioning.getVersion(later.ordinal()));
compareNewerVsOlder(later, earlier);
}
private void compareNewerVsOlder(KnownVersion newer, KnownVersion older) {
assertTrue(older.isOlderThan(newer));
assertFalse(newer.isOlderThan(older));
assertFalse(newer.isOlderThan(newer));
assertFalse(older.isOlderThan(older));
assertTrue(older.isNotOlderThan(older));
assertFalse(older.isNotOlderThan(newer));
assertTrue(newer.isNotOlderThan(newer));
assertTrue(newer.isNotOlderThan(older));
assertTrue(newer.isNewerThan(older));
assertFalse(older.isNewerThan(newer));
assertFalse(newer.isNewerThan(newer));
assertFalse(older.isNewerThan(older));
assertTrue(older.isNotNewerThan(older));
assertTrue(older.isNotNewerThan(newer));
assertTrue(newer.isNotNewerThan(newer));
assertFalse(newer.isNotNewerThan(older));
}
@Test
public void testFromOrdinalForCurrentVersionSucceeds() {
final KnownVersion version = Versioning.getKnownVersionOrDefault(
Versioning.getVersion(KnownVersion.CURRENT_ORDINAL), null);
assertThat(version).isNotNull();
assertThat(version).isEqualTo(KnownVersion.CURRENT);
}
}