~ubuntu-branches/debian/sid/scala/sid

« back to all changes in this revision

Viewing changes to test/files/run/t4813.scala

  • Committer: Package Import Robot
  • Author(s): Emmanuel Bourg, Mehdi Dogguy, Lucas Satabin, Frank S. Thomas, Emmanuel Bourg
  • Date: 2015-06-05 23:52:59 UTC
  • mfrom: (1.2.11)
  • Revision ID: package-import@ubuntu.com-20150605235259-wk00vgk83dh8o19g
Tags: 2.10.5-1
* Team upload.

[ Mehdi Dogguy ]
* New upstream release (Closes: #744278).

[ Lucas Satabin ]
* Update patches
* Update the clean target
* Update paths of elements to install
* Update watch file

[ Frank S. Thomas ]
* Remove myself from Uploaders.

[ Emmanuel Bourg ]
* The package has been adopted by the Java Team (Closes: #754935)
* Patched the build to avoid downloading libraries from the Internet
* Replaced the minified JavaScript files with unobfuscated ones
* No longer build scala-partest.jar until diffutils is packaged or replaced
* debian/watch: Fixed the versions matched (x.y.z instead of x.y.z..z)
* debian/rules:
  - Added the missing get-orig-source target (Closes: #724704)
  - Improved the clean target
* debian/control:
  - Build depend on scala (>= 2.10) and bnd
  - Use canonical URLs for the Vcs-* fields
  - Standards-Version updated to 3.9.6 (no changes)
* Switch to debhelper level 9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import collection.mutable._
 
2
import reflect._
 
3
 
 
4
 
 
5
object Test extends App {
 
6
  def runTest[T, U](col: T)(clone: T => U)(mod: T => Unit)(implicit ct: ClassTag[T]): Unit = {
 
7
     val cloned = clone(col)
 
8
     assert(cloned == col, s"cloned should be equal to original. $cloned != $col")
 
9
     mod(col)
 
10
     assert(cloned != col, s"cloned should not modify when original does: $ct")
 
11
  }
 
12
 
 
13
  // Seqs
 
14
  runTest(ArrayBuffer(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
15
  runTest(ArraySeq(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
16
  runTest(Buffer(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
17
  runTest(DoubleLinkedList(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
18
  runTest(IndexedSeq(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
19
  runTest(LinearSeq(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
20
  runTest(LinkedList(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
21
  runTest(ListBuffer(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
22
  runTest(MutableList(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
23
  runTest(Queue(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
24
  runTest(Stack(1,2,3))(_.clone) { buf => buf transform (_ + 1) }
 
25
 
 
26
  // Sets
 
27
  runTest(BitSet(1,2,3))(_.clone) { buf => buf add 4 }
 
28
  runTest(HashSet(1,2,3))(_.clone) { buf => buf add 4 }
 
29
  runTest(Set(1,2,3))(_.clone) { buf => buf add 4 }
 
30
  runTest(SortedSet(1,2,3))(_.clone) { buf => buf add 4 }
 
31
  runTest(TreeSet(1,2,3))(_.clone) { buf => buf add 4 }
 
32
 
 
33
  // Maps
 
34
  runTest(HashMap(1->1,2->2,3->3))(_.clone) { buf => buf put (4,4) }
 
35
  runTest(WeakHashMap(1->1,2->2,3->3))(_.clone) { buf => buf put (4,4) }
 
36
}
 
37