/* * TeleStax, Open Source Cloud Communications * Copyright 2011-2014, Telestax Inc and individual contributors * by the @authors tag. * * This program is free software: you can redistribute it and/or modify * under the terms of the GNU Affero General Public License as * published by the Free Software Foundation; either version 3 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/> * */ package org.restcomm.media.rtp.sdp; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.junit.Test; import org.restcomm.media.rtp.sdp.CandidateField; import org.restcomm.media.spi.utils.Text; import static org.junit.Assert.*; /** * * @author Henrique Rosa (henrique.rosa@telestax.com) * */ @Deprecated public class CandidateFieldTest { private final Text CANDIDATE_HOST = new Text("a=candidate:1995739850 1 udp 2113937151 192.168.1.65 54550 typ host generation 0"); private final Text CANDIDATE_RELAY = new Text("a=candidate:2564697628 1 udp 33562367 75.126.93.124 53056 typ relay raddr 85.241.121.60 rport 55027 generation 0"); private final Text CANDIDATE_SRFLX = new Text("a=candidate:2162486046 1 udp 1845501695 85.241.121.60 60495 typ srflx raddr 192.168.1.65 rport 54550 generation 0"); @Test public void testCandidateHost() { CandidateField candidateField = new CandidateField(CANDIDATE_HOST); assertEquals(candidateField.getFoundation(), new Text("1995739850")); assertEquals(candidateField.getComponentId(), new Text("1")); assertEquals(candidateField.getProtocol(), new Text("udp")); assertEquals(candidateField.getWeight(), new Text("2113937151")); assertEquals(candidateField.getAddress(), new Text("192.168.1.65")); assertEquals(candidateField.getPort(), new Text("54550")); assertEquals(candidateField.getType(), new Text("host")); assertEquals(candidateField.getGeneration(), new Text("0")); assertNull(candidateField.getRelatedAddress()); assertNull(candidateField.getRelatedPort()); assertEquals(candidateField.toString(), CANDIDATE_HOST.toString()); } @Test public void testCandidateSrflx() { CandidateField candidateField = new CandidateField(CANDIDATE_SRFLX); assertEquals(candidateField.getFoundation(), new Text("2162486046")); assertEquals(candidateField.getComponentId(), new Text("1")); assertEquals(candidateField.getProtocol(), new Text("udp")); assertEquals(candidateField.getWeight(), new Text("1845501695")); assertEquals(candidateField.getAddress(), new Text("85.241.121.60")); assertEquals(candidateField.getPort(), new Text("60495")); assertEquals(candidateField.getType(), new Text("srflx")); assertEquals(candidateField.getRelatedAddress(), new Text("192.168.1.65")); assertEquals(candidateField.getRelatedPort(), new Text("54550")); assertEquals(candidateField.getGeneration(), new Text("0")); assertEquals(candidateField.toString(), CANDIDATE_SRFLX.toString()); } @Test public void testCandidateRelay() { CandidateField candidateField = new CandidateField(CANDIDATE_RELAY); assertEquals(candidateField.getFoundation(), new Text("2564697628")); assertEquals(candidateField.getComponentId(), new Text("1")); assertEquals(candidateField.getProtocol(), new Text("udp")); assertEquals(candidateField.getWeight(), new Text("33562367")); assertEquals(candidateField.getAddress(), new Text("75.126.93.124")); assertEquals(candidateField.getPort(), new Text("53056")); assertEquals(candidateField.getType(), new Text("relay")); assertEquals(candidateField.getRelatedAddress(), new Text("85.241.121.60")); assertEquals(candidateField.getRelatedPort(), new Text("55027")); assertEquals(candidateField.getGeneration(), new Text("0")); assertEquals(candidateField.toString(), CANDIDATE_RELAY.toString()); } @Test public void testCandidateComparison() { List<CandidateField> candidates = new ArrayList<CandidateField>(3); // weight = 33562367 CandidateField candidateRelay = new CandidateField(CANDIDATE_RELAY); // weight = 2113937151 CandidateField candidateHost = new CandidateField(CANDIDATE_HOST); // weight = 1845501695 CandidateField candidateSrflx = new CandidateField(CANDIDATE_SRFLX); candidates.add(candidateHost); candidates.add(candidateRelay); candidates.add(candidateSrflx); Collections.sort(candidates, Collections.reverseOrder()); assertEquals(candidates.get(0), candidateHost); assertEquals(candidates.get(1), candidateSrflx); assertEquals(candidates.get(2), candidateRelay); } }