-
Notifications
You must be signed in to change notification settings - Fork 232
/
XorOnlyTest.java
101 lines (87 loc) · 2.86 KB
/
XorOnlyTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/*
* ice4j, the OpenSource Java Solution for NAT and Firewall Traversal.
* Maintained by the SIP Communicator community (http://sip-communicator.org).
*
* Distributable under LGPL license. See terms of license at gnu.org.
*/
package org.ice4j.attribute;
import junit.framework.*;
import java.util.*;
import org.ice4j.*;
/**
* @author Emil Ivov
*/
public class XorOnlyTest extends TestCase
{
private XorOnlyAttribute xorOnly = null;
private MsgFixture msgFixture = null;
protected void setUp() throws Exception
{
super.setUp();
xorOnly = new XorOnlyAttribute();
msgFixture = new MsgFixture();
}
protected void tearDown() throws Exception
{
xorOnly = null;
msgFixture = null;
super.tearDown();
}
/**
* Just makes sure that no exceptions are thrown when calling it as the
* decode method doesn't do anything in the XorOnly att.
* @throws StunException if sth happens
*/
public void testDecodeAttributeBody() throws StunException
{
byte[] attributeValue = new byte[]{};
char offset = 0;
char length = 0;
xorOnly.decodeAttributeBody(attributeValue, offset, length);
}
/**
* Test encoding XorOnly attributes.
*/
public void testEncode()
{
byte[] expectedReturn = new byte[]{Attribute.XOR_ONLY>>8,
Attribute.XOR_ONLY&0x00FF,
0, 0};
byte[] actualReturn = xorOnly.encode();
assertTrue("XorOnly failed to encode",
Arrays.equals( expectedReturn, actualReturn));
}
/**
* Test positive and negative XorOnly.equals() returns
* @throws Exception if decoding fails
*/
public void testEquals() throws Exception
{
XorOnlyAttribute xor2 = new XorOnlyAttribute();
assertEquals("equals() failes for XorOnly", xorOnly, xor2);
MappedAddressAttribute maatt = new MappedAddressAttribute();
maatt.decodeAttributeBody( msgFixture.mappedAddress,
(char) 0,
(char) msgFixture.mappedAddress.length );
assertFalse("equals failed to see a difference", xorOnly.equals(maatt));
assertFalse("equals failed for null", xorOnly.equals(null));
}
/**
* Makes sure the data langth is 0
*/
public void testGetDataLength()
{
char expectedReturn = 0;
char actualReturn = xorOnly.getDataLength();
assertEquals("data length was not 0", expectedReturn, actualReturn);
}
/**
* Verifies the name (do we really need this?).
*/
public void testGetName()
{
String expectedReturn = "XOR-ONLY";
String actualReturn = xorOnly.getName();
assertEquals("Is name correct", expectedReturn, actualReturn);
}
}