traitContaining[-C] extends AnyRef

A Containing[C] provides access to the "containing nature" of type C in such
a way that relevant contain matcher syntax can be used with type C. A C
can be any type of "container," a type that in some way can contains one or more other objects. ScalaTest provides
implicit implementations for several types. You can enable the contain matcher syntax on your own
type U by defining an Containing[U] for the type and making it available implicitly.

Containing versus Aggregating

The difference between Containing and Aggregating is that
Containing enables contain matcher syntax that makes sense for "box" types that can
contain at most one value (for example, scala.Option),
whereas Aggregating enables contain matcher syntax for full-blown collections and other
aggregations of potentially more than one object. For example, it makes sense to make assertions like these, which
are enabled by Containing, for scala.Option:

However, given a scala.Option can only ever contain at most one object, it doesn't make
sense to make assertions like the following, which are enabled via Aggregation:

// Could never succeed, so does not compile
option should contain allOf (6, 7, 8)

The above assertion could never succceed, because an option cannot contain more than
one value. By default the above statement does not compile, because containallOf
is enabled by Aggregating, and ScalaTest provides no implicit Aggregating instance
for type scala.Option.