### Question:
JsonArray implements IJsonArray { public boolean contains (@Nullable final IJson aValue) { return aValue != null && m_aValues.contains (aValue); } JsonArray();  JsonArray(@Nonnegative final int nInitialCapacity);  JsonArray(@Nonnull final Iterable <? extends IJson> aJsons);  JsonArray(@Nonnull final IJson... aJsons); final boolean isArray(); final boolean isObject(); final boolean isValue(); @Nonnegative int size(); boolean isEmpty(); @Nonnull Iterator <IJson> iterator(); @Override @Nonnull JsonArray add(@Nonnull final IJson aValue); @Nonnull JsonArray addAt(@Nonnegative final int nIndex, @Nonnull final IJson aValue); @Nonnull IJson removeAndReturnAtIndex(@Nonnegative final int nIndex); @Nonnull EChange removeAtIndex(@Nonnegative final int nIndex); @Nullable IJson get(@Nonnegative final int nIndex); @Nonnull @ReturnsMutableCopy JsonArray getSubArray(@Nonnegative final int nStartIndex, @Nonnegative final int nEndIndex); @Nonnull @ReturnsMutableCopy ICommonsList <IJson> getAll(); @Override void forEach(@Nonnull final Consumer <? super IJson> aConsumer); void forEachByIndex(@Nonnull final ObjIntConsumer <? super IJson> aConsumer); boolean contains(@Nullable final IJson aValue); @Nonnull @ReturnsMutableCopy ICommonsList <IJson> getClonedValues(); @Nonnull JsonArray getClone(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testContains () { final JsonArray aArray = new JsonArray (); assertFalse (aArray.contains (5)); assertFalse (aArray.contains (5L)); assertFalse (aArray.contains (3.1234)); assertFalse (aArray.contains ((IJson) null)); assertFalse (aArray.contains (false)); assertFalse (aArray.contains ('x')); assertFalse (aArray.contains ((byte) 1)); assertFalse (aArray.contains ((short) 1)); assertFalse (aArray.contains (12.345f)); aArray.add (5); assertTrue (aArray.contains (5)); assertFalse (aArray.contains (3.1234)); assertFalse (aArray.contains ((IJson) null)); aArray.add (3.1234); assertTrue (aArray.contains (5)); assertTrue (aArray.contains (3.1234)); assertFalse (aArray.contains ((IJson) null)); aArray.add ("This is a string"); assertTrue (aArray.contains (5)); assertTrue (aArray.contains (3.1234)); assertTrue (aArray.contains ("This is a string")); assertFalse (aArray.contains ((IJson) null)); aArray.add (new JsonArray ().add ("nested").add (0).add (BigDecimal.valueOf (12.34))); assertTrue (aArray.contains (5)); assertTrue (aArray.contains (3.1234)); assertTrue (aArray.contains ("This is a string")); assertTrue (aArray.contains (new JsonArray ().add ("nested").add (0).add (BigDecimal.valueOf (12.34)))); assertFalse (aArray.contains ((IJson) null)); aArray.add (new JsonObject ().add ("n1", "nested").add ("n2", 0).add ("n3", BigDecimal.valueOf (12.34))); assertTrue (aArray.contains (5)); assertTrue (aArray.contains (3.1234)); assertTrue (aArray.contains ("This is a string")); assertTrue (aArray.contains (new JsonArray ().add ("nested").add (0).add (BigDecimal.valueOf (12.34)))); assertTrue (aArray.contains (new JsonObject ().add ("n1", "nested").add ("n2", 0).add ("n3", BigDecimal.valueOf (12.34)))); assertFalse (aArray.contains ((IJson) null)); }