Skip to main content
summaryrefslogtreecommitdiffstats
blob: 563747227c5e723accaa5b123461897455dde4b1 (plain) (blame)
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
102
103
/*******************************************************************************
 * Copyright (c) 2008, 2009 Oracle. All rights reserved.
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
 * 
 * Contributors:
 *     Oracle - initial API and implementation
 ******************************************************************************/
package org.eclipse.jpt.utility.tests.internal;

import junit.framework.TestCase;

import org.eclipse.jpt.utility.internal.ObjectReference;

@SuppressWarnings("nls")
public class ObjectReferenceTests extends TestCase {

	public ObjectReferenceTests(String name) {
		super(name);
	}

	public void testGetValue() {
		ObjectReference<String> or = new ObjectReference<String>();
		assertNull(or.getValue());
		or.setValue("foo");
		assertEquals("foo", or.getValue());
	}

	public void testValueEqualsObject() {
		ObjectReference<String> or = new ObjectReference<String>();
		assertTrue(or.valueEquals(null));
		assertFalse(or.valueEquals("foo"));

		or.setValue("foo");
		assertFalse(or.valueEquals(null));
		assertTrue(or.valueEquals("foo"));
	}

	public void testValueNotEqualObject() {
		ObjectReference<String> or = new ObjectReference<String>();
		assertFalse(or.valueNotEqual(null));
		assertTrue(or.valueNotEqual("foo"));

		or.setValue("foo");
		assertTrue(or.valueNotEqual(null));
		assertFalse(or.valueNotEqual("foo"));
	}

	public void testIsNull() {
		ObjectReference<String> or = new ObjectReference<String>();
		assertTrue(or.isNull());
		or.setValue("foo");
		assertFalse(or.isNull());
	}

	public void testIsNotNull() {
		ObjectReference<String> or = new ObjectReference<String>();
		assertFalse(or.isNotNull());
		or.setValue("foo");
		assertTrue(or.isNotNull());
	}

	public void testSetNull() {
		ObjectReference<String> or = new ObjectReference<String>();
		assertNull(or.getValue());
		or.setValue("foo");
		assertEquals("foo", or.getValue());
		or.setNull();
		assertNull(or.getValue());
	}

	public void testClone() {
		ObjectReference<String> or = new ObjectReference<String>("foo");
		@SuppressWarnings("cast")
		ObjectReference<String> clone = (ObjectReference<String>) or.clone();
		assertEquals("foo", clone.getValue());
		assertEquals(or, clone);
	}

	public void testEquals() {
		ObjectReference<String> or1 = new ObjectReference<String>("foo");
		ObjectReference<String> or2 = new ObjectReference<String>("foo");
		assertTrue(or1.equals(or2));
		ObjectReference<String> or3 = new ObjectReference<String>("bar");
		assertFalse(or1.equals(or3));
	}

	public void testHashCode() {
		ObjectReference<String> or = new ObjectReference<String>();
		assertEquals(0, or.hashCode());
		or.setValue("foo");
		assertEquals("foo".hashCode(), or.hashCode());
	}

	public void testToString() {
		ObjectReference<String> or = new ObjectReference<String>();
		assertEquals("[null]", or.toString());
		or.setValue("foo");
		assertEquals("[foo]", or.toString());
	}

}

Back to the top