Mutable specification syntax

The Structure page presents one syntax for declaring examples in a mutable specification:

class MySpecification extends org.specs2.mutable.Specification {
      "this is my specification" >> {
        "where example 1 must be true" >> {
          1 must ===(1)
        }
        "where example 2 must be true" >> {
          2 must ===(2)
        }
      }
    }

You can also use the should/in syntax:

class MySpecification extends org.specs2.mutable.Specification {
      "this is my specification" should {
        "have one example" in {
          1 must ===(1)
        }
        "and another one" in {
          2 must ===(2)
        }
      }
    }

You might get clashes with should which can also be used to declare expectations on strings:

class MySpecification extends org.specs2.mutable.Specification {
  "this" should {
    "will not compile because should is overloaded" in  {
      "a string" should not(beEmpty)
    }
  }
}

The easiest work around in that case is to use must for the expectation:

class MySpecification extends org.specs2.mutable.Specification {
      "this" should {
        "compile now" in {
          "a string" must not(beEmpty)
        }
      }
    }