Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

(This page needs debate or consensus)

Testing / QA

As a core Java development API (and without any external system dependencies), Collections should have a set of tests that are deterministic (quasi-mathmatical) proofs of the operation of the system. Each test should stand alone.

...

Wiki Markup
For testing the new version, we will be using \[dynamic\] Mock Objects.  This is because they provide absolute isolation of the classes under test.  Because the collections package is a core api, and is relatively simple, there is no need to test with fully constructed objects \[and they'd get in the way over time\].

Coverage

(This really needs soem debate) For many of the classes, 100% coverage is warranted - CollectionUtils etc. In others, some leniency may be warranted (PredicateUtils.andPredicate). However, 100% should be aimed for as this is a core java api, and where it is not achieved, some explanation/consideration should be given.

Wiki Markup
[EMMA|http://emma.sourceforge.net] seems to be a good fit for acheiving high coverage, as it supports the notion of [partial line coverage|http://emma.sourceforge.net/faq.html#q.fractional].  It's license is CPM (which I think is ASL compatible), where as Cobertura is GPL'd, and so is not suitable \[or is it?  this is only for building, and is not extended\].