forked from hamcrest/JavaHamcrest
/
BaseDescriptionTest.java
114 lines (93 loc) · 3.15 KB
/
BaseDescriptionTest.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
102
103
104
105
106
107
108
109
110
111
112
113
114
package org.hamcrest;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public final class BaseDescriptionTest {
private final StringBuilder result = new StringBuilder();
private final BaseDescription baseDescription = new BaseDescription() {
@Override protected void append(char c) {
result.append(c);
}
};
@Test public void
describesAppendedNullValue() {
baseDescription.appendValue(null);
assertEquals("null", result.toString());
}
@Test public void
quotesAppendedStringValue() {
baseDescription.appendValue("foo");
assertEquals("\"foo\"", result.toString());
}
@Test public void
quotesAppendedCharacterValue() {
baseDescription.appendValue('f');
assertEquals("\"f\"", result.toString());
}
@Test public void
quotesAppendedTab() {
baseDescription.appendValue('\t');
assertEquals("\"\\t\"", result.toString());
}
@Test public void
quotesAppendedNewLine() {
baseDescription.appendValue('\n');
assertEquals("\"\\n\"", result.toString());
}
@Test public void
quotesAppendedLineReturn() {
baseDescription.appendValue('\r');
assertEquals("\"\\r\"", result.toString());
}
@Test public void
quotesAppendedBackslash() {
baseDescription.appendValue('\\');
assertEquals("\"\\\\\"", result.toString());
}
@Test public void
quotesAppendedDoubleQuotes() {
baseDescription.appendValue('"');
assertEquals("\"\\\"\"", result.toString());
}
@Test public void
bracketsAppendedByteValue() {
baseDescription.appendValue(Byte.valueOf("2"));
assertEquals("<2b>", result.toString());
}
@Test public void
bracketsAppendedShortValue() {
baseDescription.appendValue(Short.valueOf("2"));
assertEquals("<2s>", result.toString());
}
@Test public void
bracketsAppendedLongValue() {
baseDescription.appendValue(Long.valueOf("2"));
assertEquals("<2L>", result.toString());
}
@Test public void
bracketsAppendedFloatValue() {
baseDescription.appendValue(Float.valueOf("1.2"));
assertEquals("<1.2F>", result.toString());
}
@Test public void
describesAppendedArrayValue() {
baseDescription.appendValue(new String[] {"2", "3"});
assertEquals("[\"2\", \"3\"]", result.toString());
}
@Test public void
bracketsAppendedObjectValue() {
final Object value = new Object();
baseDescription.appendValue(value);
assertEquals("<" + value.toString() + ">", result.toString());
}
@Test public void
safelyDescribesAppendedValueOfObjectWhoseToStringThrowsAnException() {
final Object value = new Object() {
@Override public String toString() {
throw new UnsupportedOperationException();
}
};
final String expected = value.getClass().getName() + "@" + Integer.toHexString(value.hashCode());
baseDescription.appendValue(value);
assertEquals("<" + expected + ">", result.toString());
}
}