package org.cloudfoundry.identity.uaa.provider.saml; /******************************************************************************* * Cloud Foundry * Copyright (c) [2009-2016] Pivotal Software, Inc. All Rights Reserved. * <p> * This product is licensed to you under the Apache License, Version 2.0 (the "License"). * You may not use this product except in compliance with the License. * <p> * This product includes a number of subcomponents with * separate copyright notices and license terms. Your use of these * subcomponents is subject to the terms and conditions of the * subcomponent's license, as noted in the LICENSE file. *******************************************************************************/ import org.junit.Assert; import org.junit.Test; import org.opensaml.saml2.metadata.provider.MetadataProviderException; import org.opensaml.xml.XMLObject; import static org.junit.Assert.*; public class ComparableProviderTest { class ComparableProviderImpl implements ComparableProvider{ private String alias; private String zoneId; @Override public String getAlias() { return alias; } @Override public String getZoneId() { return zoneId; } @Override public XMLObject doGetMetadata() throws MetadataProviderException { return null; } @Override public byte[] fetchMetadata() throws MetadataProviderException { return new byte[0]; } public ComparableProviderImpl setAlias(String alias) { this.alias = alias; return this; } public ComparableProviderImpl setZoneId(String zoneId) { this.zoneId = zoneId; return this; } }; @Test public void testCompareTo(){ ComparableProviderImpl comparableProviderThis = new ComparableProviderImpl(); ComparableProviderImpl comparableProviderThat = new ComparableProviderImpl(); comparableProviderThis.setAlias(null).setZoneId(null); comparableProviderThat.setAlias("alias").setZoneId("zone"); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) < 0); comparableProviderThat.setAlias("alias").setZoneId(null); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) < 0); comparableProviderThat.setAlias(null).setZoneId("zone"); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) < 0); comparableProviderThat.setAlias(null).setZoneId(null); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) == 0); comparableProviderThis.setAlias(null).setZoneId("zone"); comparableProviderThat.setAlias("alias").setZoneId("zone"); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) < 0); comparableProviderThat.setAlias("alias").setZoneId(null); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) < 0); comparableProviderThat.setAlias(null).setZoneId("zone"); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) == 0); comparableProviderThat.setAlias(null).setZoneId(null); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) > 0); comparableProviderThis.setAlias("alias").setZoneId(null); comparableProviderThat.setAlias("alias").setZoneId("zone"); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) < 0); comparableProviderThat.setAlias("alias").setZoneId(null); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) == 0); comparableProviderThat.setAlias(null).setZoneId("zone"); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) > 0); comparableProviderThat.setAlias(null).setZoneId(null); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) > 0); comparableProviderThis.setAlias("alias").setZoneId("zone"); comparableProviderThat.setAlias("alias").setZoneId("zone"); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) == 0); comparableProviderThat.setAlias("alias").setZoneId(null); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) > 0); comparableProviderThat.setAlias(null).setZoneId("zone"); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) > 0); comparableProviderThat.setAlias(null).setZoneId(null); assertTrue(comparableProviderThis.compareTo(comparableProviderThat) > 0); } @Test public void testGetHashCode() { ComparableProviderImpl comparableProvider1 = new ComparableProviderImpl(); ComparableProviderImpl comparableProvider2 = new ComparableProviderImpl(); comparableProvider1.setAlias(null).setZoneId(null); assertEquals(0, comparableProvider1.getHashCode()); comparableProvider1.setAlias(null).setZoneId("zone"); comparableProvider2.setAlias(null).setZoneId("zone"); assertEquals(comparableProvider1.getHashCode(), comparableProvider2.getHashCode()); comparableProvider1.setAlias("alias").setZoneId(null); comparableProvider2.setAlias("alias").setZoneId(null); assertEquals(comparableProvider1.getHashCode(), comparableProvider2.getHashCode()); comparableProvider1.setAlias("alias").setZoneId(null); comparableProvider2.setAlias(null).setZoneId("zone"); assertNotEquals(comparableProvider1.getHashCode(), comparableProvider2.getHashCode()); } }