/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.utils; import static org.junit.Assert.assertEquals; import org.junit.Test; import de.rcenvironment.core.communication.model.NetworkContactPoint; /** * {@link NetworkContactPointUtils} test. * * @author Robert Mischke */ public class NetworkContactPointUtilsTest { private static final String DUMMY_BASIC_NCP = "tr:h:5"; private static final String DUMMY_TRANSPORT_ID = "tr"; private static final String DUMMY_HOST = "h"; private static final int DUMMY_PORT = 5; private static final String KEY1 = "key1"; private static final String KEY2 = "key2"; private static final String VAL1 = "val1"; private static final String VAL2 = "val2"; /** * Test for proper attribute parsing. Attribute syntax: "transport:host:port(key1=val1,key2=val2)". */ @Test public void testAttributeParsing() { NetworkContactPoint ncp; ncp = NetworkContactPointUtils.parseStringRepresentation(DUMMY_BASIC_NCP); testCommonEntries(ncp); assertEquals(0, ncp.getAttributes().size()); ncp = NetworkContactPointUtils.parseStringRepresentation(DUMMY_BASIC_NCP + "()"); testCommonEntries(ncp); assertEquals(0, ncp.getAttributes().size()); ncp = NetworkContactPointUtils.parseStringRepresentation(DUMMY_BASIC_NCP + "(key1=val1)"); testCommonEntries(ncp); assertEquals(1, ncp.getAttributes().size()); assertEquals(VAL1, ncp.getAttributes().get(KEY1)); ncp = NetworkContactPointUtils.parseStringRepresentation(DUMMY_BASIC_NCP + " (key1=val1,key2=val2)"); testCommonEntries(ncp); assertEquals(2, ncp.getAttributes().size()); assertEquals(VAL1, ncp.getAttributes().get(KEY1)); assertEquals(VAL2, ncp.getAttributes().get(KEY2)); // test most garbled legal string ncp = NetworkContactPointUtils.parseStringRepresentation(DUMMY_BASIC_NCP + "( key1 = val1 , key2=val2, key 3=,key4 = )"); testCommonEntries(ncp); assertEquals(4, ncp.getAttributes().size()); assertEquals(VAL1, ncp.getAttributes().get(KEY1)); assertEquals(VAL2, ncp.getAttributes().get(KEY2)); assertEquals("", ncp.getAttributes().get("key 3")); assertEquals("", ncp.getAttributes().get("key4")); } private void testCommonEntries(NetworkContactPoint ncp) { assertEquals(DUMMY_TRANSPORT_ID, ncp.getTransportId()); assertEquals(DUMMY_HOST, ncp.getHost()); assertEquals(DUMMY_PORT, ncp.getPort()); } }