@@ -67,4 +67,61 @@ class ScalaRunTimeTest {
67
67
val c = new C ()
68
68
assertFalse(c.toString, isTuple(c))
69
69
}
70
+
71
+ @ Test
72
+ def testStringOf () {
73
+ import ScalaRunTime .stringOf
74
+ import scala .collection ._
75
+ import parallel .ParIterable
76
+
77
+ assertEquals(" null" , stringOf(null ))
78
+ assertEquals( " \"\" " , stringOf(" " ))
79
+
80
+ assertEquals(" abc" , stringOf(" abc" ))
81
+ assertEquals(" \" abc\" " , stringOf(" abc" ))
82
+ assertEquals(" \" abc \" " , stringOf(" abc " ))
83
+
84
+ assertEquals(""" Array()""" , stringOf(Array .empty[AnyRef ]))
85
+ assertEquals(""" Array()""" , stringOf(Array .empty[Int ]))
86
+ assertEquals(""" Array(1, 2, 3)""" , stringOf(Array (1 , 2 , 3 )))
87
+ assertEquals(""" Array(a, "", " c", null)""" , stringOf(Array (" a" , " " , " c" , null )))
88
+ assertEquals(""" Array(Array("", 1, Array(5)), Array(1))""" ,
89
+ stringOf(Array (Array (" " , 1 , Array (5 )), Array (1 ))))
90
+
91
+ val map = Map (1 -> " " , 2 -> " a" , 3 -> " a" , 4 -> null )
92
+ assertEquals(s """ ${map.stringPrefix}(1 -> "", 2 -> a, 3 -> " a", 4 -> null) """ , stringOf(map))
93
+ assertEquals(s """ ${map.stringPrefix}(1 -> "", 2 -> a) """ , stringOf(map, 2 ))
94
+
95
+ val iterable = Iterable (" a" , " " , " c" , null )
96
+ assertEquals(s """ ${iterable.stringPrefix}(a, "", " c", null) """ , stringOf(iterable))
97
+ assertEquals(s """ ${iterable.stringPrefix}(a, "") """ , stringOf(iterable, 2 ))
98
+
99
+ val parIterable = ParIterable (" a" , " " , " c" , null )
100
+ assertEquals(s """ ${parIterable.stringPrefix}(a, "", " c", null) """ , stringOf(parIterable))
101
+ assertEquals(s """ ${parIterable.stringPrefix}(a, "") """ , stringOf(parIterable, 2 ))
102
+
103
+ val traversable = new Traversable [Int ] {
104
+ def foreach [U ](f : Int => U ): Unit = (0 to 3 ).foreach(f)
105
+ }
106
+ assertEquals(s " ${traversable.stringPrefix}(0, 1, 2, 3) " , stringOf(traversable))
107
+ assertEquals(s " ${traversable.stringPrefix}(0, 1) " , stringOf(traversable, 2 ))
108
+
109
+ val tuple1 = Tuple1 (0 )
110
+ assertEquals(" (0,)" , stringOf(tuple1))
111
+ assertEquals(" (0,)" , stringOf(tuple1, 0 ))
112
+
113
+ val tuple2 = Tuple2 (0 , 1 )
114
+ assertEquals(" (0,1)" , stringOf(tuple2))
115
+ assertEquals(" (0,1)" , stringOf(tuple2, 0 ))
116
+
117
+ val tuple3 = Tuple3 (0 , 1 , 2 )
118
+ assertEquals(" (0,1,2)" , stringOf(tuple3))
119
+ assertEquals(" (0,1,2)" , stringOf(tuple3, 0 ))
120
+
121
+ val x = new Object {
122
+ override def toString (): String = " this is the stringOf string"
123
+ }
124
+ assertEquals(stringOf(x), " this is the stringOf string" )
125
+ assertEquals(stringOf(x, 2 ), " this is the stringOf string" )
126
+ }
70
127
}
0 commit comments