package org.marketcetera.saclient; import org.marketcetera.util.misc.ClassVersion; import org.marketcetera.util.test.EqualityAssert; import org.junit.Test; import static org.junit.Assert.*; /* $License$ */ /** * Tests {@link SAClientParameters} * * @author anshul@marketcetera.com * @version $Id: SAClientParametersTest.java 16154 2012-07-14 16:34:05Z colin $ * @since 2.0.0 */ @ClassVersion("$Id: SAClientParametersTest.java 16154 2012-07-14 16:34:05Z colin $") public class SAClientParametersTest { /** * Verify constructor and getters. */ @Test public void constructAndGet() { //test invalid values. SAClientParameters scp = new SAClientParameters(null, null, null, null, -1); assertParameters(scp, null, null, null, null, -1); //test minimal values scp = new SAClientParameters("", "".toCharArray(), "", "", 0); assertParameters(scp, "", "".toCharArray(), "", "", 0); //test valid values String user = "you"; char[] password = "nu".toCharArray(); String url = "tcp://localghost:9001"; String host = "localmost"; int port = 61617; scp = new SAClientParameters(user, password, url, host, port); assertParameters(scp, user, password, url, host, port); //Changing the password array contents after construction doesn't change the password char [] expectedPass = scp.getPassword(); assertArrayEquals(expectedPass, password); password[0] = 'l'; assertArrayEquals(expectedPass, scp.getPassword()); //Changing password array contents after get doesn't change the password password = scp.getPassword(); password[0] = 'l'; assertArrayEquals(expectedPass, scp.getPassword()); } /** * Verify equals() and hashcode(). */ @Test public void equality() { EqualityAssert.assertEquality( new SAClientParameters("you","nu".toCharArray(), "tcp://zoo:91", "ghost", 2001), new SAClientParameters("you", "nu".toCharArray(), "tcp://zoo:91", "ghost", 2001), new SAClientParameters("your", "nu".toCharArray(), "tcp://zoo:91", "ghost", 2001), new SAClientParameters("you", "nul".toCharArray(), "tcp://zoo:91", "ghost", 2001), new SAClientParameters("you", "nu".toCharArray(), "tcp://zoo:919", "ghost", 2001), new SAClientParameters("you", "nu".toCharArray(), "tcp://zoo:91", "most", 2001), new SAClientParameters("you", "nu".toCharArray(), "tcp://zoo:91", "ghost", 2003), new SAClientParameters(null, null, null, null, -1) ); } /** * Verify toString(). */ @Test public void string() { SAClientParameters parm = new SAClientParameters("you", "nu".toCharArray(), "tcp://zoo:91", "ghost", 2001); //verify to string contains all values except password String string = parm.toString(); assertTrue(string, string.contains("you")); assertFalse(string, string.contains("nu")); assertTrue(string, string.contains("tcp://zoo:91")); assertTrue(string, string.contains("ghost")); assertTrue(string, string.contains("2001")); } private static void assertParameters(SAClientParameters inActual, String inExpectedUsername, char[] inExpectedPassword, String inExpectedURL, String inExpectedHostName, int inExpectedPort) { assertEquals(inExpectedUsername, inActual.getUsername()); assertArrayEquals(inExpectedPassword, inActual.getPassword()); assertEquals(inExpectedURL, inActual.getURL()); assertEquals(inExpectedHostName, inActual.getHostname()); assertEquals(inExpectedPort, inActual.getPort()); } }