1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/samples/effectivelist/test/org/apidesign/effectivelist/ListMixinTest.scala Sun Sep 02 22:00:13 2012 +0200
1.3 @@ -0,0 +1,26 @@
1.4 +package org.apidesign.effectivelist
1.5 +
1.6 +import org.junit._
1.7 +import Assert._
1.8 +
1.9 +// BEGIN: effectivelist.point
1.10 +class Point(val x: Int, val y : Int);
1.11 +// END: effectivelist.point
1.12 +
1.13 +class ListMixinTest {
1.14 + // BEGIN: effectivelist.convert
1.15 + class ListablePoint(x: Int, y: Int) extends Point(x,y) with Listable[ListablePoint] {
1.16 + def this(r : Point) = this(r.x, r.y)
1.17 + }
1.18 + implicit def toList(p : Point) : ListablePoint = new ListablePoint(p)
1.19 +
1.20 + @Test def useThePlainOldPointInList : Unit = {
1.21 + val list = new List[ListablePoint]
1.22 + list.add(new Point(10, 20))
1.23 + assertEquals("One element", 1, list.size)
1.24 + assertEquals("X is 10", 10, list.get(0).x)
1.25 + assertEquals("y is 20", 20, list.get(0).y)
1.26 + }
1.27 + // END: effectivelist.convert
1.28 +
1.29 +}