summaryrefslogtreecommitdiff
path: root/test/junit
diff options
context:
space:
mode:
Diffstat (limited to 'test/junit')
-rw-r--r--test/junit/scala/collection/mutable/BitSetTest.scala9
-rw-r--r--test/junit/scala/reflect/ClassTag.scala29
-rw-r--r--test/junit/scala/util/RandomTest.scala15
3 files changed, 53 insertions, 0 deletions
diff --git a/test/junit/scala/collection/mutable/BitSetTest.scala b/test/junit/scala/collection/mutable/BitSetTest.scala
index 8d164b50d4..d56cc45601 100644
--- a/test/junit/scala/collection/mutable/BitSetTest.scala
+++ b/test/junit/scala/collection/mutable/BitSetTest.scala
@@ -19,4 +19,13 @@ class BitSetTest {
bitSet &~= bitSet
assert(bitSet.toBitMask.length == size, "Capacity of bitset changed after &~=")
}
+
+ @Test def test_SI8917() {
+ val bigBitSet = BitSet(1, 100, 10000)
+ val littleBitSet = BitSet(100)
+ bigBitSet &= littleBitSet
+ assert(!(bigBitSet contains 10000), "&= not applied to the full bitset")
+ littleBitSet &= bigBitSet
+ assert(littleBitSet.toBitMask.length < bigBitSet.toBitMask.length, "Needlessly extended the size of bitset on &=")
+ }
}
diff --git a/test/junit/scala/reflect/ClassTag.scala b/test/junit/scala/reflect/ClassTag.scala
new file mode 100644
index 0000000000..90cc981fc1
--- /dev/null
+++ b/test/junit/scala/reflect/ClassTag.scala
@@ -0,0 +1,29 @@
+package scala.reflect
+
+import org.junit.Test
+import org.junit.Assert._
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+import scala.tools.testing.AssertUtil._
+
+class Misc
+
+@RunWith(classOf[JUnit4])
+class ClassTagTest {
+ def checkNotString[A: ClassTag](a: Any) = a match { case x: String => false case x: A => true case _ => false }
+ def checkNotInt[A: ClassTag](a: Any) = a match { case x: Int => false case x: A => true case _ => false }
+ def checkNotLong[A: ClassTag](a: Any) = a match { case x: Long => false case x: A => true case _ => false }
+
+ @Test def checkMisc = assertTrue(checkNotString[Misc](new Misc))
+ @Test def checkString = assertTrue(checkNotInt[String] ("woele"))
+ @Test def checkByte = assertTrue(checkNotInt[Byte] (0.toByte))
+ @Test def checkShort = assertTrue(checkNotInt[Short] (0.toShort))
+ @Test def checkChar = assertTrue(checkNotInt[Char] (0.toChar))
+ @Test def checkInt = assertTrue(checkNotLong[Int] (0.toInt))
+ @Test def checkLong = assertTrue(checkNotInt[Long] (0.toLong))
+ @Test def checkFloat = assertTrue(checkNotInt[Float] (0.toFloat))
+ @Test def checkDouble = assertTrue(checkNotInt[Double] (0.toDouble))
+ @Test def checkBoolean = assertTrue(checkNotInt[Boolean](false))
+ @Test def checkUnit = assertTrue(checkNotInt[Unit] ({}))
+} \ No newline at end of file
diff --git a/test/junit/scala/util/RandomTest.scala b/test/junit/scala/util/RandomTest.scala
new file mode 100644
index 0000000000..32959675ee
--- /dev/null
+++ b/test/junit/scala/util/RandomTest.scala
@@ -0,0 +1,15 @@
+package scala.util
+
+import org.junit.{ Assert, Test }
+
+class RandomTest {
+ // Test for SI-9059
+ @Test def testAlphanumeric: Unit = {
+ def isAlphaNum(c: Char) = (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9')
+
+ val items = Random.alphanumeric.take(100000)
+ for (c <- items) {
+ Assert.assertTrue(s"$c should be alphanumeric", isAlphaNum(c))
+ }
+ }
+}