o

fpinscalalib

FunctionalDataStructuresSection

object FunctionalDataStructuresSection extends AnyFlatSpec with Matchers with Section

Linear Supertypes
Section, Matchers, Explicitly, MatcherWords, Tolerance, AnyFlatSpec, AnyFlatSpecLike, Documenting, Alerting, Notifying, Informing, CanVerb, MustVerb, ShouldVerb, TestRegistration, TestSuite, Suite, Serializable, Assertions, TripleEquals, TripleEqualsSupport, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FunctionalDataStructuresSection
  2. Section
  3. Matchers
  4. Explicitly
  5. MatcherWords
  6. Tolerance
  7. AnyFlatSpec
  8. AnyFlatSpecLike
  9. Documenting
  10. Alerting
  11. Notifying
  12. Informing
  13. CanVerb
  14. MustVerb
  15. ShouldVerb
  16. TestRegistration
  17. TestSuite
  18. Suite
  19. Serializable
  20. Assertions
  21. TripleEquals
  22. TripleEqualsSupport
  23. AnyRef
  24. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final class AWord extends AnyRef
    Definition Classes
    Matchers
  2. final class AnWord extends AnyRef
    Definition Classes
    Matchers
  3. sealed class AnyShouldWrapper[T] extends AnyRef
    Definition Classes
    Matchers
  4. final class BehaviorWord extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  5. class CheckingEqualizer[L] extends AnyRef
    Definition Classes
    TripleEqualsSupport
  6. sealed class Collected extends Serializable
    Attributes
    protected
    Definition Classes
    Matchers
  7. class DecidedByEquality[A] extends Equality[A]
    Definition Classes
    Explicitly
  8. class DecidedWord extends AnyRef
    Definition Classes
    Explicitly
  9. class DeterminedByEquivalence[T] extends Equivalence[T]
    Definition Classes
    Explicitly
  10. class DeterminedWord extends AnyRef
    Definition Classes
    Explicitly
  11. class Equalizer[L] extends AnyRef
    Definition Classes
    TripleEqualsSupport
  12. final class HavePropertyMatcherGenerator extends AnyRef
    Definition Classes
    Matchers
  13. final class IgnoreVerbString extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  14. final class IgnoreVerbStringTaggedAs extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  15. final class IgnoreWord extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  16. final class InAndIgnoreMethods extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  17. final class InAndIgnoreMethodsAfterTaggedAs extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  18. final class ItVerbString extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  19. final class ItVerbStringTaggedAs extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  20. final class ItWord extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  21. final class KeyWord extends AnyRef
    Definition Classes
    Matchers
  22. trait NoArgTest extends () => Outcome with TestData
    Attributes
    protected
    Definition Classes
    TestSuite
  23. final class PlusOrMinusWrapper[T] extends AnyRef
    Definition Classes
    Tolerance
  24. final class RegexWord extends AnyRef
    Definition Classes
    Matchers
  25. final class RegexWrapper extends AnyRef
    Definition Classes
    Matchers
  26. class ResultOfBeWordForAny[T] extends AnyRef
    Definition Classes
    Matchers
  27. sealed class ResultOfBeWordForCollectedAny[T] extends AnyRef
    Definition Classes
    Matchers
  28. final class ResultOfBeWordForCollectedArray[T] extends ResultOfBeWordForCollectedAny[Array[T]]
    Definition Classes
    Matchers
  29. final class ResultOfCollectedAny[T] extends AnyRef
    Definition Classes
    Matchers
  30. final class ResultOfContainWordForCollectedAny[T] extends AnyRef
    Definition Classes
    Matchers
  31. final class ResultOfEndWithWordForCollectedString extends AnyRef
    Definition Classes
    Matchers
  32. final class ResultOfEndWithWordForString extends AnyRef
    Definition Classes
    Matchers
  33. final class ResultOfFullyMatchWordForCollectedString extends AnyRef
    Definition Classes
    Matchers
  34. final class ResultOfFullyMatchWordForString extends AnyRef
    Definition Classes
    Matchers
  35. final class ResultOfHaveWordForCollectedExtent[A] extends AnyRef
    Definition Classes
    Matchers
  36. final class ResultOfHaveWordForExtent[A] extends AnyRef
    Definition Classes
    Matchers
  37. final class ResultOfIncludeWordForCollectedString extends AnyRef
    Definition Classes
    Matchers
  38. final class ResultOfIncludeWordForString extends AnyRef
    Definition Classes
    Matchers
  39. final class ResultOfNotWordForCollectedAny[T] extends AnyRef
    Definition Classes
    Matchers
  40. final class ResultOfStartWithWordForCollectedString extends AnyRef
    Definition Classes
    Matchers
  41. final class ResultOfStartWithWordForString extends AnyRef
    Definition Classes
    Matchers
  42. trait StringCanWrapperForVerb extends AnyRef
    Definition Classes
    CanVerb
  43. trait StringMustWrapperForVerb extends AnyRef
    Definition Classes
    MustVerb
  44. final class StringShouldWrapper extends AnyShouldWrapper[String] with org.scalatest.matchers.should.Matchers.StringShouldWrapperForVerb
    Definition Classes
    Matchers
  45. trait StringShouldWrapperForVerb extends AnyRef
    Definition Classes
    ShouldVerb
  46. class TheAfterWord extends AnyRef
    Definition Classes
    Explicitly
  47. final class TheSameInstanceAsPhrase extends AnyRef
    Definition Classes
    Matchers
  48. final class TheyVerbString extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  49. final class TheyVerbStringTaggedAs extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  50. final class TheyWord extends AnyRef
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  51. final class ValueWord extends AnyRef
    Definition Classes
    Matchers

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. def !==[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]
    Definition Classes
    TripleEqualsSupport
  3. def !==(right: Null): TripleEqualsInvocation[Null]
    Definition Classes
    TripleEqualsSupport
  4. def !==[T](right: T): TripleEqualsInvocation[T]
    Definition Classes
    TripleEqualsSupport
  5. final def ##: Int
    Definition Classes
    AnyRef → Any
  6. def <[T](right: T)(implicit arg0: Ordering[T]): ResultOfLessThanComparison[T]
    Definition Classes
    Matchers
  7. def <=[T](right: T)(implicit arg0: Ordering[T]): ResultOfLessThanOrEqualToComparison[T]
    Definition Classes
    Matchers
  8. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def ===[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]
    Definition Classes
    TripleEqualsSupport
  10. def ===(right: Null): TripleEqualsInvocation[Null]
    Definition Classes
    TripleEqualsSupport
  11. def ===[T](right: T): TripleEqualsInvocation[T]
    Definition Classes
    TripleEqualsSupport
  12. def >[T](right: T)(implicit arg0: Ordering[T]): ResultOfGreaterThanComparison[T]
    Definition Classes
    Matchers
  13. def >=[T](right: T)(implicit arg0: Ordering[T]): ResultOfGreaterThanOrEqualToComparison[T]
    Definition Classes
    Matchers
  14. def a[T](implicit arg0: ClassTag[T]): ResultOfATypeInvocation[T]
    Definition Classes
    Matchers
  15. val a: AWord
    Definition Classes
    Matchers
  16. val after: TheAfterWord
    Definition Classes
    Explicitly
  17. def alert: Alerter
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike → Alerting
  18. def all(xs: String)(implicit collecting: Collecting[Char, String], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Char]
    Definition Classes
    Matchers
  19. def all[K, V, JMAP[k, v] <: Map[k, v]](xs: JMAP[K, V])(implicit collecting: Collecting[Entry[K, V], JMAP[K, V]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Entry[K, V]]
    Definition Classes
    Matchers
  20. def all[K, V, MAP[k, v] <: GenMap[k, v]](xs: MAP[K, V])(implicit collecting: Collecting[(K, V), GenTraversable[(K, V)]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[(K, V)]
    Definition Classes
    Matchers
  21. def all[E, C[_]](xs: C[E])(implicit collecting: Collecting[E, C[E]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[E]
    Definition Classes
    Matchers
  22. def allElementsOf[R](elements: GenTraversable[R]): ResultOfAllElementsOfApplication
    Definition Classes
    Matchers
  23. def allOf(firstEle: Any, secondEle: Any, remainingEles: Any*)(implicit pos: Position): ResultOfAllOfApplication
    Definition Classes
    Matchers
  24. def an[T](implicit arg0: ClassTag[T]): ResultOfAnTypeInvocation[T]
    Definition Classes
    Matchers
  25. val an: AnWord
    Definition Classes
    Matchers
  26. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  27. macro def assert(condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: Position): Assertion
    Definition Classes
    Assertions
  28. macro def assert(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion
    Definition Classes
    Assertions
  29. macro def assertCompiles(code: String)(implicit pos: Position): Assertion
    Definition Classes
    Assertions
  30. macro def assertDoesNotCompile(code: String)(implicit pos: Position): Assertion
    Definition Classes
    Assertions
  31. def assertResult(expected: Any)(actual: Any)(implicit prettifier: Prettifier, pos: Position): Assertion
    Definition Classes
    Assertions
  32. def assertResult(expected: Any, clue: Any)(actual: Any)(implicit prettifier: Prettifier, pos: Position): Assertion
    Definition Classes
    Assertions
  33. def assertThrows[T <: AnyRef](f: => Any)(implicit classTag: ClassTag[T], pos: Position): Assertion
    Definition Classes
    Assertions
  34. macro def assertTypeError(code: String)(implicit pos: Position): Assertion
    Definition Classes
    Assertions
  35. macro def assume(condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: Position): Assertion
    Definition Classes
    Assertions
  36. macro def assume(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion
    Definition Classes
    Assertions
  37. def atLeast(num: Int, xs: String)(implicit collecting: Collecting[Char, String], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Char]
    Definition Classes
    Matchers
  38. def atLeast[K, V, JMAP[k, v] <: Map[k, v]](num: Int, xs: JMAP[K, V])(implicit collecting: Collecting[Entry[K, V], JMAP[K, V]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Entry[K, V]]
    Definition Classes
    Matchers
  39. def atLeast[K, V, MAP[k, v] <: GenMap[k, v]](num: Int, xs: MAP[K, V])(implicit collecting: Collecting[(K, V), GenTraversable[(K, V)]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[(K, V)]
    Definition Classes
    Matchers
  40. def atLeast[E, C[_]](num: Int, xs: C[E])(implicit collecting: Collecting[E, C[E]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[E]
    Definition Classes
    Matchers
  41. def atLeastOneElementOf(elements: GenTraversable[Any]): ResultOfAtLeastOneElementOfApplication
    Definition Classes
    Matchers
  42. def atLeastOneOf(firstEle: Any, secondEle: Any, remainingEles: Any*)(implicit pos: Position): ResultOfAtLeastOneOfApplication
    Definition Classes
    Matchers
  43. def atMost(num: Int, xs: String)(implicit collecting: Collecting[Char, String], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Char]
    Definition Classes
    Matchers
  44. def atMost[K, V, JMAP[k, v] <: Map[k, v]](num: Int, xs: JMAP[K, V])(implicit collecting: Collecting[Entry[K, V], JMAP[K, V]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Entry[K, V]]
    Definition Classes
    Matchers
  45. def atMost[K, V, MAP[k, v] <: GenMap[k, v]](num: Int, xs: MAP[K, V])(implicit collecting: Collecting[(K, V), GenTraversable[(K, V)]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[(K, V)]
    Definition Classes
    Matchers
  46. def atMost[E, C[_]](num: Int, xs: C[E])(implicit collecting: Collecting[E, C[E]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[E]
    Definition Classes
    Matchers
  47. def atMostOneElementOf[R](elements: GenTraversable[R]): ResultOfAtMostOneElementOfApplication
    Definition Classes
    Matchers
  48. def atMostOneOf(firstEle: Any, secondEle: Any, remainingEles: Any*)(implicit pos: Position): ResultOfAtMostOneOfApplication
    Definition Classes
    Matchers
  49. val be: BeWord
    Definition Classes
    MatcherWords
  50. val behave: BehaveWord
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  51. val behavior: BehaviorWord
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  52. def between(from: Int, upTo: Int, xs: String)(implicit collecting: Collecting[Char, String], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Char]
    Definition Classes
    Matchers
  53. def between[K, V, JMAP[k, v] <: Map[k, v]](from: Int, upTo: Int, xs: JMAP[K, V])(implicit collecting: Collecting[Entry[K, V], JMAP[K, V]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Entry[K, V]]
    Definition Classes
    Matchers
  54. def between[E, C[_]](from: Int, upTo: Int, xs: C[E])(implicit collecting: Collecting[E, C[E]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[E]
    Definition Classes
    Matchers
  55. def cancel(cause: Throwable)(implicit pos: Position): Nothing
    Definition Classes
    Assertions
  56. def cancel(message: String, cause: Throwable)(implicit pos: Position): Nothing
    Definition Classes
    Assertions
  57. def cancel(message: String)(implicit pos: Position): Nothing
    Definition Classes
    Assertions
  58. def cancel()(implicit pos: Position): Nothing
    Definition Classes
    Assertions
  59. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  60. val compile: CompileWord
    Definition Classes
    MatcherWords
  61. def complexPatternAssert(res0: Int): Unit

    The following set of sections represent the exercises contained in the book "Functional Programming in Scala", written by Paul Chiusano and Rúnar Bjarnason and published by Manning.

    Functional programming in Scala

    The following set of sections represent the exercises contained in the book "Functional Programming in Scala", written by Paul Chiusano and Rúnar Bjarnason and published by Manning. This content library is meant to be used in tandem with the book. We use the same numeration for the exercises for you to follow them.

    For more information about "Functional Programming in Scala" please visit its official website.

    Singly linked lists

    Assume the following functions are available for your reference:

    sealed trait List[+A]
    case object Nil extends List[Nothing]
    case class Cons[+A](head: A, tail: List[A]) extends List[A]

    Exercise 3.1:

    Examine the next complex match expression. What will be the result?

  62. val contain: ContainWord
    Definition Classes
    MatcherWords
  63. def convertEquivalenceToAToBConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: <:<[A, B]): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
  64. def convertEquivalenceToBToAConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: <:<[B, A]): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
  65. implicit def convertNumericToPlusOrMinusWrapper[T](pivot: T)(implicit arg0: Numeric[T]): PlusOrMinusWrapper[T]
    Definition Classes
    Tolerance
  66. implicit def convertSymbolToHavePropertyMatcherGenerator(symbol: Symbol)(implicit prettifier: Prettifier, pos: Position): HavePropertyMatcherGenerator
    Definition Classes
    Matchers
  67. implicit def convertToAnyShouldWrapper[T](o: T)(implicit pos: Position, prettifier: Prettifier): AnyShouldWrapper[T]
    Definition Classes
    Matchers
  68. def convertToCheckingEqualizer[T](left: T): CheckingEqualizer[T]
    Definition Classes
    TripleEquals → TripleEqualsSupport
  69. implicit def convertToEqualizer[T](left: T): Equalizer[T]
    Definition Classes
    TripleEquals → TripleEqualsSupport
  70. implicit def convertToInAndIgnoreMethods(resultOfStringPassedToVerb: ResultOfStringPassedToVerb): InAndIgnoreMethods
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  71. implicit def convertToInAndIgnoreMethodsAfterTaggedAs(resultOfTaggedAsInvocation: ResultOfTaggedAsInvocation): InAndIgnoreMethodsAfterTaggedAs
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  72. implicit def convertToRegexWrapper(o: Regex): RegexWrapper
    Definition Classes
    Matchers
  73. implicit def convertToStringCanWrapper(o: String)(implicit position: Position): StringCanWrapperForVerb
    Definition Classes
    CanVerb
  74. implicit def convertToStringMustWrapperForVerb(o: String)(implicit position: Position): StringMustWrapperForVerb
    Definition Classes
    MustVerb
  75. implicit def convertToStringShouldWrapper(o: String)(implicit pos: Position, prettifier: Prettifier): StringShouldWrapper
    Definition Classes
    Matchers
  76. implicit def convertToStringShouldWrapperForVerb(o: String)(implicit position: Position): StringShouldWrapperForVerb
    Definition Classes
    ShouldVerb
  77. val decided: DecidedWord
    Definition Classes
    Explicitly
  78. def defaultEquality[A]: Equality[A]
    Definition Classes
    TripleEqualsSupport
  79. val defined: DefinedWord
    Definition Classes
    MatcherWords
  80. def definedAt[T](right: T): ResultOfDefinedAt[T]
    Definition Classes
    Matchers
  81. val determined: DeterminedWord
    Definition Classes
    Explicitly
  82. val empty: EmptyWord
    Definition Classes
    MatcherWords
  83. val endWith: EndWithWord
    Definition Classes
    MatcherWords
  84. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  85. def equal(o: Null): Matcher[AnyRef]
    Definition Classes
    Matchers
  86. def equal[T](spread: Spread[T]): Matcher[T]
    Definition Classes
    Matchers
  87. def equal(right: Any): MatcherFactory1[Any, Equality]
    Definition Classes
    MatcherWords
  88. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  89. def every(xs: String)(implicit collecting: Collecting[Char, String], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Char]
    Definition Classes
    Matchers
  90. def every[K, V, JMAP[k, v] <: Map[k, v]](xs: JMAP[K, V])(implicit collecting: Collecting[Entry[K, V], JMAP[K, V]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Entry[K, V]]
    Definition Classes
    Matchers
  91. def every[K, V, MAP[k, v] <: Map[k, v]](xs: MAP[K, V])(implicit collecting: Collecting[(K, V), GenTraversable[(K, V)]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[(K, V)]
    Definition Classes
    Matchers
  92. def every[E, C[_]](xs: C[E])(implicit collecting: Collecting[E, C[E]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[E]
    Definition Classes
    Matchers
  93. def exactly(num: Int, xs: String)(implicit collecting: Collecting[Char, String], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Char]
    Definition Classes
    Matchers
  94. def exactly[K, V, JMAP[k, v] <: Map[k, v]](num: Int, xs: JMAP[K, V])(implicit collecting: Collecting[Entry[K, V], JMAP[K, V]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Entry[K, V]]
    Definition Classes
    Matchers
  95. def exactly[K, V, MAP[k, v] <: GenMap[k, v]](num: Int, xs: MAP[K, V])(implicit collecting: Collecting[(K, V), GenTraversable[(K, V)]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[(K, V)]
    Definition Classes
    Matchers
  96. def exactly[E, C[_]](num: Int, xs: C[E])(implicit collecting: Collecting[E, C[E]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[E]
    Definition Classes
    Matchers
  97. final def execute(testName: String, configMap: ConfigMap, color: Boolean, durations: Boolean, shortstacks: Boolean, fullstacks: Boolean, stats: Boolean): Unit
    Definition Classes
    Suite
  98. val exist: ExistWord
    Definition Classes
    MatcherWords
  99. def expectedTestCount(filter: Filter): Int
    Definition Classes
    Suite
  100. def fail(cause: Throwable)(implicit pos: Position): Nothing
    Definition Classes
    Assertions
  101. def fail(message: String, cause: Throwable)(implicit pos: Position): Nothing
    Definition Classes
    Assertions
  102. def fail(message: String)(implicit pos: Position): Nothing
    Definition Classes
    Assertions
  103. def fail()(implicit pos: Position): Nothing
    Definition Classes
    Assertions
  104. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  105. val fullyMatch: FullyMatchWord
    Definition Classes
    MatcherWords
  106. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  107. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  108. val have: HaveWord
    Definition Classes
    MatcherWords
  109. val ignore: IgnoreWord
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  110. def inOrder(firstEle: Any, secondEle: Any, remainingEles: Any*)(implicit pos: Position): ResultOfInOrderApplication
    Definition Classes
    Matchers
  111. def inOrderElementsOf[R](elements: GenTraversable[R]): ResultOfInOrderElementsOfApplication
    Definition Classes
    Matchers
  112. def inOrderOnly[T](firstEle: Any, secondEle: Any, remainingEles: Any*)(implicit pos: Position): ResultOfInOrderOnlyApplication
    Definition Classes
    Matchers
  113. val include: IncludeWord
    Definition Classes
    MatcherWords
  114. def info: Informer
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike → Informing
  115. def intercept[T <: AnyRef](f: => Any)(implicit classTag: ClassTag[T], pos: Position): T
    Definition Classes
    Assertions
  116. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  117. val it: ItWord
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  118. val key: KeyWord
    Definition Classes
    Matchers
  119. val length: LengthWord
    Definition Classes
    MatcherWords
  120. def listAdd1Assert(res0: Int): Unit

    Exercise 3.15:

    Exercise 3.15:

    foldRight can also be useful to write a function concat that concatenates a list of lists into a single list. Take a look at its implementation:

    def concat[A](l: List[List[A]]): List[A] =
      foldRight(l, Nil:List[A])(append)

    Since append takes time proportional to its first argument, and this first argument never grows because of the right-associativity of foldRight, this function is linear in the total length of all lists.

    More functions for working with lists

    Exercise 3.16:

    Let's keep digging into the uses of foldLeft and foldRight, by implementing a function that transforms a list of integers by adding 1 to each element:

  121. def listAppendAssert(res0: List[Int], res1: List[Int], res2: List[Int], res3: List[Int]): Unit

    Exercise 3.12:

    Exercise 3.12:

    As we saw above, we can write the previous functions we implemented using foldRight with foldLeft. Let's continue with reverse:

    def reverse[A](l: List[A]): List[A] = foldLeft(l, List[A]())((acc, h) => Cons(h, acc))

    Exercise 3.13:

    In fact, we can write foldLeft in terms of foldRight, and the other way around:

     
      def foldRightViaFoldLeft[A,B](l: List[A], z: B)(f: (A,B) => B): B =
        foldLeft(reverse(l), z)((b,a) => f(a,b))
    
      def foldLeftViaFoldRight[A,B](l: List[A], z: B)(f: (B,A) => B): B =
        foldRight(l, (b:B) => b)((a,g) => b => g(f(b,a)))(z)

    Exercise 3.14:

    Another function we can implement by using foldRight is append:

    def appendViaFoldRight[A](l: List[A], r: List[A]): List[A] =
      foldRight(l, r)(Cons(_,_))

    Take a look at its implementation and check how it works:

  122. def listDropAssert(res0: List[Int], res1: List[Int], res2: List[Int], res3: List[Int], res4: List[Int]): Assertion

    Exercise 3.4:

    Exercise 3.4:

    We can generalize take to the function drop:

  123. def listDropWhileAssert(res0: List[Int], res1: List[Int], res2: List[Int], res3: List[Int]): Assertion

    Exercise 3.5:

    Exercise 3.5:

    dropWhile extends the behaviour of drop, removing elements from the List prefix as long as they match a predicate. Study its implementation and check how it works with the following examples:

  124. def listFlatMapAssert(res0: List[Int]): Unit

    Exercise 3.20:

    Exercise 3.20:

    We're going to implement a new function that works like map except that the function given will return a list instead of a single result, and that list should be inserted into the final resulting list:

    def flatMap[A,B](l: List[A])(f: A => List[B]): List[B] =
      concat(map(l)(f))

    Let's try it out:

  125. def listFoldLeftSumProductLengthAssert(res0: Int, res1: Double, res2: Int, res3: Int): Unit

    Exercise 3.10:

    Exercise 3.10:

    Let's write another general tail-recursive list-recursion function, foldLeft, using the techniques we discussed in the previous chapter:

    def foldLeft[A,B](l: List[A], z: B)(f: (B, A) => B): B =
      l match {
        case Nil => z
        case Cons(h,t) => foldLeft(t, f(z,h))(f)
      }

    Exercise 3.11:

    Let's write functions sum, product and length of a list using foldLeft:

  126. def listFoldRightNilConsAssert(res0: List[Int]): Assertion

    Exercise 3.8:

    Exercise 3.8:

    Now that we know how foldRight works, try to think about what happens when you pass Nil and Cons themselves to foldRight.

  127. def listFoldRightSumAssert(res0: Int, res1: Int, res2: Int, res3: Int, res4: Int, res5: Int, res6: List[Int], res7: Int, res8: Int, res9: Int, res10: Int): Assertion

    Exercise 3.x:

    Recursion over lists and generalizing to higher-order functions

    Exercise 3.x:

    Let's run through the steps that foldRight will follow in our new implementation of sum2:

  128. def listHasSubsequenceAssert(res0: Boolean, res1: Boolean, res2: Boolean): Unit

    Exercise 3.24:

    Exercise 3.24:

    As a final example for working with lists, let's implement a hasSubsequence function for checking whether a List contains another List as a subsequence. For instance, List(1, 2, 3, 4) would have List(1, 2), List(2, 3) and List(4) as subsequences, among others:

    @annotation.tailrec
      def startsWith[A](l: List[A], prefix: List[A]): Boolean = (l,prefix) match {
        case (_,Nil) => true
        case (Cons(h,t),Cons(h2,t2)) if h == h2 => startsWith(t, t2)
        case _ => false
      }
    
    @annotation.tailrec
    def hasSubsequence[A](sup: List[A], sub: List[A]): Boolean = sup match {
      case Nil => sub == Nil
      case _ if startsWith(sup, sub) => true
      case Cons(h,t) => hasSubsequence(t, sub)
    }

    Take a thorough look at the implementation of this function, and then try it out in the next exercise:

  129. def listInitAssert(res0: List[Int], res1: List[Int]): Assertion

    Exercise 3.6:

    Exercise 3.6:

    init can be implemented in the same fashion, but cannot be implemented in constant time like tail:

  130. def listLengthAssert(res0: Int, res1: Int): Unit

    Exercise 3.9:

    Exercise 3.9:

    Let's try to use foldRight to calculate the length of a list. Try to fill the gaps in our implementation:

  131. def listRemoveOdds(res0: Int, res1: Int): Unit

    Exercise 3.17:

    Exercise 3.17:

    We can do something similar to turn each value in a List[Double] into a String:

    def doubleToString(l: List[Double]): List[String] =
      foldRight(l, Nil:List[String])((h,t) => Cons(h.toString,t))

    Exercise 3.18:

    Both add1 and doubleToString modify each element in a list while maintaining its structure. We can generalize it in the following way:

    def map[A,B](l: List[A])(f: A => B): List[B] =
      foldRight(l, Nil:List[B])((h,t) => Cons(f(h),t))

    Exercise 3.19:

    Let's apply the same principle as we use in map to remove elements from a list, starting with a function to remove all odd numbers from a List[Int]:

  132. def listSetHeadAssert(res0: List[Int], res1: List[String]): Assertion

    Exercise 3.3:

    Exercise 3.3:

    setHead follows a similar principle. Let's take a look at how it works:

  133. def listTakeAssert(res0: List[Int], res1: List[Int]): Assertion

    Exercise 3.2:

    Exercise 3.2:

    Take a look at the implementation of List's tail function, and check its behaviour on the following cases:

  134. def listZipWithAssert(res0: List[String], res1: List[String]): Unit

    Exercise 3.22:

    Exercise 3.22:

    Now we're going to write a function that accepts two lists of integers and constructs a new list by adding corresponding elements. i.e.: List(1, 2, 3) and List(4, 5, 6) become List(5, 7, 9):

    def addPairwise(a: List[Int], b: List[Int]): List[Int] = (a,b) match {
      case (Nil, _) => Nil
      case (_, Nil) => Nil
      case (Cons(h1,t1), Cons(h2,t2)) => Cons(h1+h2, addPairwise(t1,t2))
    }

    Exercise 3.23:

    We can generalize the function above so that it's not specific to integers or addition, zipWith:

    def zipWith[A,B,C](a: List[A], b: List[B])(f: (A,B) => C): List[C] = (a,b) match {
      case (Nil, _) => Nil
      case (_, Nil) => Nil
      case (Cons(h1,t1), Cons(h2,t2)) => Cons(f(h1,h2), zipWith(t1,t2)(f))
    }

    Let's try out zipWith in the following exercise:

  135. def lowPriorityTypeCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], ev: <:<[A, B]): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
  136. def markup: Documenter
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike → Documenting
  137. val matchPattern: MatchPatternWord
    Definition Classes
    MatcherWords
  138. def message(expectedMessage: String): ResultOfMessageWordApplication
    Definition Classes
    Matchers
  139. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  140. def nestedSuites: IndexedSeq[Suite]
    Definition Classes
    Suite
  141. def no(xs: String)(implicit collecting: Collecting[Char, String], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Char]
    Definition Classes
    Matchers
  142. def no[K, V, JMAP[k, v] <: Map[k, v]](xs: JMAP[K, V])(implicit collecting: Collecting[Entry[K, V], JMAP[K, V]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[Entry[K, V]]
    Definition Classes
    Matchers
  143. def no[E, C[_]](xs: C[E])(implicit collecting: Collecting[E, C[E]], prettifier: Prettifier, pos: Position): ResultOfCollectedAny[E]
    Definition Classes
    Matchers
  144. def noElementsOf(elements: GenTraversable[Any]): ResultOfNoElementsOfApplication
    Definition Classes
    Matchers
  145. def noException(implicit pos: Position): NoExceptionWord
    Definition Classes
    MatcherWords
  146. def noneOf(firstEle: Any, secondEle: Any, remainingEles: Any*)(implicit pos: Position): ResultOfNoneOfApplication
    Definition Classes
    Matchers
  147. val not: NotWord
    Definition Classes
    MatcherWords
  148. def note: Notifier
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike → Notifying
  149. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  150. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  151. def of[T](implicit ev: ClassTag[T]): ResultOfOfTypeInvocation[T]
    Definition Classes
    Matchers
  152. def oneElementOf(elements: GenTraversable[Any]): ResultOfOneElementOfApplication
    Definition Classes
    Matchers
  153. def oneOf(firstEle: Any, secondEle: Any, remainingEles: Any*)(implicit pos: Position): ResultOfOneOfApplication
    Definition Classes
    Matchers
  154. def only(xs: Any*)(implicit pos: Position): ResultOfOnlyApplication
    Definition Classes
    Matchers
  155. def pending: Assertion with PendingStatement
    Definition Classes
    Assertions
  156. def pendingUntilFixed(f: => Unit)(implicit pos: Position): Assertion with PendingStatement
    Definition Classes
    Assertions
  157. val readable: ReadableWord
    Definition Classes
    MatcherWords
  158. val regex: RegexWord
    Definition Classes
    Matchers
  159. final def registerIgnoredTest(testText: String, testTags: Tag*)(testFun: => Any)(implicit pos: Position): Unit
    Definition Classes
    AnyFlatSpecLike → TestRegistration
  160. final def registerTest(testText: String, testTags: Tag*)(testFun: => Any)(implicit pos: Position): Unit
    Definition Classes
    AnyFlatSpecLike → TestRegistration
  161. def rerunner: Option[String]
    Definition Classes
    Suite
  162. def run(testName: Option[String], args: Args): Status
    Definition Classes
    AnyFlatSpecLike → Suite
  163. def runNestedSuites(args: Args): Status
    Attributes
    protected
    Definition Classes
    Suite
  164. def runTest(testName: String, args: Args): Status
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike → TestSuite → Suite
  165. def runTests(testName: Option[String], args: Args): Status
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike → Suite
  166. implicit val shorthandSharedTestRegistrationFunction: StringVerbBehaveLikeInvocation
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  167. implicit val shorthandTestRegistrationFunction: StringVerbStringInvocation
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  168. val size: SizeWord
    Definition Classes
    MatcherWords
  169. val sorted: SortedWord
    Definition Classes
    MatcherWords
  170. val startWith: StartWithWord
    Definition Classes
    MatcherWords
  171. final val succeed: Assertion
    Definition Classes
    Assertions
  172. def suiteId: String
    Definition Classes
    Suite
  173. def suiteName: String
    Definition Classes
    Suite
  174. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  175. def tags: Map[String, Set[String]]
    Definition Classes
    AnyFlatSpecLike → Suite
  176. def testDataFor(testName: String, theConfigMap: ConfigMap): TestData
    Definition Classes
    AnyFlatSpecLike → Suite
  177. def testNames: Set[String]
    Definition Classes
    AnyFlatSpecLike → Suite
  178. def the[T](implicit arg0: ClassTag[T], pos: Position): ResultOfTheTypeInvocation[T]
    Definition Classes
    Matchers
  179. def theSameElementsAs(xs: GenTraversable[_]): ResultOfTheSameElementsAsApplication
    Definition Classes
    Matchers
  180. def theSameElementsInOrderAs(xs: GenTraversable[_]): ResultOfTheSameElementsInOrderAsApplication
    Definition Classes
    Matchers
  181. val theSameInstanceAs: TheSameInstanceAsPhrase
    Definition Classes
    Matchers
  182. val they: TheyWord
    Attributes
    protected
    Definition Classes
    AnyFlatSpecLike
  183. def thrownBy(fun: => Any): ResultOfThrownByApplication
    Definition Classes
    Matchers
  184. def toString(): String
    Definition Classes
    AnyFlatSpec → AnyRef → Any
  185. def treeDepthAssert(res0: Int, res1: Int): Unit

    Exercise 3.26:

    Exercise 3.26:

    Following a similar implementation, we can write a function maximum that returns the maximum element in a Tree[Int]:

    def maximum(t: Tree[Int]): Int = t match {
      case Leaf(n) => n
      case Branch(l,r) => maximum(l) max maximum(r)
    }

    Exercise 3.27:

    In the same fashion, let's implement a function depth that returns the maximum path length from the root of a tree to any leaf.

  186. def treeFoldAssert(res0: Int, res1: Int, res2: Int, res3: Int, res4: Branch[Boolean]): Unit

    Exercise 3.29:

    Exercise 3.29:

    To wrap this section up, let's generalize size, maximum, depth and map, writing a new function fold that abstracts over their similarities:

    def fold[A,B](t: Tree[A])(f: A => B)(g: (B,B) => B): B = t match {
      case Leaf(a) => f(a)
      case Branch(l,r) => g(fold(l)(f)(g), fold(r)(f)(g))
    }

    Let's try to reimplement size, maximum, depth, and map in terms of this more general function:

  187. def treeMapAssert(res0: Branch[Int]): Unit

    Exercise 3.28:

    Exercise 3.28:

    We can also write a function map, analogous to the method of the same name on List, that modifies each element in a tree with a given function. Let's try it out in the following exercise:

  188. def treeSizeAssert(res0: Int, res1: Int): Unit

    Exercise 3.25:

    Trees

    Exercise 3.25:

    Let's try to implement a function size to count the number of nodes (leaves and branches) in a tree:

  189. val typeCheck: TypeCheckWord
    Definition Classes
    MatcherWords
  190. def typeCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], ev: <:<[B, A]): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
  191. implicit def unconstrainedEquality[A, B](implicit equalityOfA: Equality[A]): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
  192. val value: ValueWord
    Definition Classes
    Matchers
  193. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  194. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  195. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  196. def withClue[T](clue: Any)(fun: => T): T
    Definition Classes
    Assertions
  197. def withFixture(test: NoArgTest): Outcome
    Attributes
    protected
    Definition Classes
    TestSuite
  198. val writable: WritableWord
    Definition Classes
    MatcherWords

Deprecated Value Members

  1. def conversionCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], cnv: (B) => A): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
    Annotations
    @deprecated
    Deprecated

    (Since version 3.1.0) The conversionCheckedConstraint method has been deprecated and will be removed in a future version of ScalaTest. It is no longer needed now that the deprecation period of ConversionCheckedTripleEquals has expired. It will not be replaced.

  2. def convertEquivalenceToAToBConversionConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: (A) => B): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
    Annotations
    @deprecated
    Deprecated

    (Since version 3.1.0) The convertEquivalenceToAToBConversionConstraint method has been deprecated and will be removed in a future version of ScalaTest. It is no longer needed now that the deprecation period of ConversionCheckedTripleEquals has expired. It will not be replaced.

  3. def convertEquivalenceToBToAConversionConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: (B) => A): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
    Annotations
    @deprecated
    Deprecated

    (Since version 3.1.0) The convertEquivalenceToBToAConversionConstraint method has been deprecated and will be removed in a future version of ScalaTest. It is no longer needed now that the deprecation period of ConversionCheckedTripleEquals has expired. It will not be replaced.

  4. def lowPriorityConversionCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], cnv: (A) => B): CanEqual[A, B]
    Definition Classes
    TripleEquals → TripleEqualsSupport
    Annotations
    @deprecated
    Deprecated

    (Since version 3.1.0) The lowPriorityConversionCheckedConstraint method has been deprecated and will be removed in a future version of ScalaTest. It is no longer needed now that the deprecation period of ConversionCheckedTripleEquals has expired. It will not be replaced.

  5. final val styleName: String
    Definition Classes
    AnyFlatSpecLike → Suite
    Annotations
    @deprecated
    Deprecated

    (Since version 3.1.0) The styleName lifecycle method has been deprecated and will be removed in a future version of ScalaTest with no replacement.

Inherited from Section

Inherited from Matchers

Inherited from Explicitly

Inherited from MatcherWords

Inherited from Tolerance

Inherited from AnyFlatSpec

Inherited from AnyFlatSpecLike

Inherited from Documenting

Inherited from Alerting

Inherited from Notifying

Inherited from Informing

Inherited from CanVerb

Inherited from MustVerb

Inherited from ShouldVerb

Inherited from TestRegistration

Inherited from TestSuite

Inherited from Suite

Inherited from Serializable

Inherited from Assertions

Inherited from TripleEquals

Inherited from TripleEqualsSupport

Inherited from AnyRef

Inherited from Any

Ungrouped