Packages

  • package root
    Definition Classes
    root
  • package org
    Definition Classes
    root
  • package scalatest

    ScalaTest's main traits, classes, and other members, including members supporting ScalaTest's DSL for the Scala interpreter.

    ScalaTest's main traits, classes, and other members, including members supporting ScalaTest's DSL for the Scala interpreter.

    Definition Classes
    org
  • trait LoneElement extends AnyRef

    Trait that provides an implicit conversion that adds to collection types a loneElement method, which will return the value of the lone element if the collection does indeed contain one and only one element, or throw TestFailedException if not.

    Trait that provides an implicit conversion that adds to collection types a loneElement method, which will return the value of the lone element if the collection does indeed contain one and only one element, or throw TestFailedException if not.

    This construct allows you to express in one statement that a collection should contain one and only one element and that the element value should meet some expectation. Here's an example:

    set.loneElement should be > 9
    

    Or, using an assertion instead of a matcher expression:

    assert(set.loneElement > 9)
    

    The loneElement syntax can be used with any collection type C for which an implicit Collecting[C] is available. ScalaTest provides implicit Collecting instances for scala.collection.GenTraversable, Array, and java.util.Collection. You can enable the loneElement syntax on other collection types by defining an implicit Collecting instances for those types.

    If you want to use loneElement with a java.util.Map, first transform it to a set of entries with entrySet, and if helpful, use ScalaTest's Entry class:

    scala> import org.scalatest._
    import org.scalatest._
    
    scala> import LoneElement._
    import LoneElement._
    
    scala> import Matchers._
    import Matchers._
    
    scala> val jmap = new java.util.HashMap[String, Int]
    jmap: java.util.HashMap[String,Int] = {}
    
    scala> jmap.put("one", 1)
    res0: Int = 0
    
    scala> jmap.entrySet.loneElement should be (Entry("one", 1))
    

    Definition Classes
    scalatest
  • LoneElementCollectionWrapper
  • LoneElementJavaMapWrapper
  • LoneElementStringWrapper
c

org.scalatest.LoneElement

LoneElementStringWrapper

final class LoneElementStringWrapper extends AnyRef

Wrapper class that adds a loneElement method to String for which an implicit Collecting[C] is available.

Through the implicit conversion provided by trait LoneElement, this class allows you to make statements like:

"9".loneElement should be ('9')

Source
LoneElement.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LoneElementStringWrapper
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LoneElementStringWrapper(s: String, prettifier: Prettifier, pos: Position)

    s

    the String to wrap

Value Members

  1. def loneElement: Char