samples/effectivelist/test/org/apidesign/effectivelist/ListMixinTest.scala
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 21:30:10 +0100
changeset 409 40cabcdcd2be
parent 403 ebe08056c60c
permissions -rw-r--r--
Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
jtulach@403
     1
package org.apidesign.effectivelist
jtulach@403
     2
jtulach@403
     3
import org.junit._
jtulach@403
     4
import Assert._
jtulach@403
     5
jtulach@403
     6
// BEGIN: effectivelist.point
jtulach@403
     7
class Point(val x: Int, val y : Int);
jtulach@403
     8
// END: effectivelist.point
jtulach@403
     9
jtulach@403
    10
class ListMixinTest {
jtulach@403
    11
  // BEGIN: effectivelist.convert
jtulach@404
    12
  class ListablePoint(x: Int, y: Int)
jtulach@404
    13
  extends Point(x,y) with Listable[ListablePoint] {
jtulach@403
    14
    def this(r : Point) = this(r.x, r.y)
jtulach@403
    15
  }
jtulach@403
    16
  implicit def toList(p : Point) : ListablePoint = new ListablePoint(p)
jtulach@403
    17
jtulach@403
    18
  @Test def useThePlainOldPointInList : Unit = {
jtulach@403
    19
    val list = new List[ListablePoint]
jtulach@403
    20
    list.add(new Point(10, 20))
jtulach@403
    21
    assertEquals("One element", 1, list.size)
jtulach@403
    22
    assertEquals("X is 10", 10, list.get(0).x)
jtulach@403
    23
    assertEquals("y is 20", 20, list.get(0).y)
jtulach@403
    24
  }
jtulach@403
    25
  // END: effectivelist.convert
jtulach@403
    26
jtulach@403
    27
}