1
1
package scala .collection .concurrent
2
2
3
- import org .junit .{Assert , Test }
3
+ import org .junit .Test
4
+ import org .junit .Assert .assertEquals
5
+
6
+ import scala .collection .immutable .TreeMap
4
7
import scala .util .hashing .Hashing
5
8
6
9
class TrieMapTest {
@@ -9,8 +12,8 @@ class TrieMapTest {
9
12
val m = TrieMap [String , String ]()
10
13
val values = f(m)
11
14
m.put(" k" , " v" )
12
- Assert . assertEquals(Nil , values.toList)
13
- Assert . assertEquals(result2, f(m).toList)
15
+ assertEquals(Nil , values.toList)
16
+ assertEquals(result2, f(m).toList)
14
17
}
15
18
16
19
@ Test
@@ -59,11 +62,22 @@ class TrieMapTest {
59
62
val e = new Equiv [Int ] { def equiv (x : Int , y : Int ) = (x % 8 ) == (y % 8 ) }
60
63
val xs = new TrieMap [Int , String ](h, e)
61
64
xs.put(0 , " zero" )
62
- Assert . assertEquals(Some (" zero" ), xs.get(0 ))
63
- Assert . assertEquals(Some (" zero" ), xs.get(8 )) // 8 and 0 are equivalent keys according to our custom equiv
65
+ assertEquals(Some (" zero" ), xs.get(0 ))
66
+ assertEquals(Some (" zero" ), xs.get(8 )) // 8 and 0 are equivalent keys according to our custom equiv
64
67
xs.put(4 , " four" ) // 4 and 0 have the same hash according to our custom hashing, but they
65
68
// are different keys (collision)
66
- Assert .assertEquals(Some (" zero" ), xs.get(8 ))
67
- Assert .assertEquals(Some (" four" ), xs.get(4 ))
69
+ assertEquals(Some (" zero" ), xs.get(8 ))
70
+ assertEquals(Some (" four" ), xs.get(4 ))
71
+ }
72
+
73
+ @ Test
74
+ def nullValues_t10765 : Unit = {
75
+ val trieMap = TreeMap [String , String ](" a" -> null )
76
+ assertEquals(null , trieMap(" a" ))
77
+ assertEquals(Some (null ), trieMap.get(" a" ))
78
+ assertEquals(true , trieMap.contains(" a" ))
79
+ assertEquals(1 , trieMap.size)
80
+ assertEquals(true , trieMap.iterator.hasNext)
81
+ assertEquals((" a" , null ), trieMap.iterator.next())
68
82
}
69
83
}
0 commit comments