1
0
Fork 0
mirror of https://github.com/ethauvin/JSON-java.git synced 2025-06-17 07:50:52 -07:00
JSON-java/README.md
2015-04-14 10:59:19 -05:00

2.6 KiB

JSON-Java-unit-test

Unit tests to validate the JSON-Java GitHub project code
https://github.com/douglascrockford/JSON-java

These tests are a work in progress. Help improving the tests is welcome More coverage is needed, but more important is to improve the quality of the tests.

Test harness: http://junit.org
Coverage: http://www.eclemma.org/

Eclipse is the recommended development environment. Run individual tests or JunitTestSuite using EclEmma Coverage, or execute the TestRunner application directly.

Test filenames should consist of the name of the module being tested, with the suffix "Test". For example, Cookie.java is tested by CookieTest.java. When adding a new unit test, don't forget to update JunitTestSuite.java.

The fundamental issues with JSON-Java testing are:

  • JSONObjects are unordered, making simple string comparison ineffective.
  • Comparisons via equals() is not currently supported. Neither JSONArray nor JSONObject overrride hashCode() or equals(), so comparison defaults to the Object equals(), which is not useful.
  • Access to the JSONArray and JSONObject internal containers for comparison is not currently available.
  • JSONObject sometimes wraps entries in quotes, other times does not, complicating comparisons.

When you start working on a test, add the empty file to the repository and update the readme, so that others will know that test is taken.

A unit test is considered complete when the coverage is >= 90% as measured by EclEmma.

Test file name Coverage Comments
Total coverage 88.7%
CDLTest.java 94.8% Completed
CookieTest.java 97.5% Completed
CookieListTest.java 96.5% Completed
HTTPTest.java 98.7% Completed
HTTPTokene.java 93.2% (no test file)
JSONArrayTest.java 95.9% Completed
JSONException.java 26.7% (no test file)
JSONMLTest.java 83.2% Completed
JSONObjectTest 90.9% Completed
JSONObject.Null 87.5% (no test file)
JSONString.java (no lines to test)
JSONStringerTest.java 93.8% Completed
JSONTokenerTest.java 72.1% In progress
JSONWriter.java 88.9% (no test file)
PropertyTest.java 94.8% Completed
XMLTest.java 85.1% Completed
XMLTokener.java 82.7% (no test file)
Files used in test
JunitTestSuite.java
MyBean.java
StringsResourceBundle.java
TestRUnner.java
Util.java