KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > jmock > ToDo


1 /* Copyright (c) 2000-2004 jMock.org
2  */

3 package test.jmock;
4
5 public class ToDo
6 {
7     //TODO Rename Mock to MockObjectBuilder [OPEN TO DISCUSSION]
8
//TODO Rename proxy() to mock()
9
//TODO Extract org.jmock.MockObjectBuilder interface and move class to org.jmock.builder
10

11     //Source cleanup prior to version 1.0 alpha
12
//TODO RESOLVE ALL TO-DO COMMENTS
13
//TODO JavaDoc interfaces and those classes that need it.
14

15     //-----------------------------------------------------------------------------------------
16
// Tasks completed
17

18     //DONE Implement matchers for call ordering.
19
//DONE Add invokedMethod to builder API for ordering calls across mocks
20
//DONE Extract NoArgs and AnyArgs matcher classes from C
21
//DONE Stop core packages relying on C
22
//DONE Put low-level hook methods into builder interfaces
23
//DONE Sensible default: If no expectation/match setup, invocation should produce no-op instead of fail.
24
// - this is to be dropped following user feedback
25
//DONE When no args specified in dynamock.Mock, use ANY-args instead of NO-args.
26
// - dropped methods without arg specification in dynamock because of this ambiguity
27
//DONE Expose setDefaultStub through high-level API
28
//DONE Default result stub should return zero-length arrays for array types
29
//DONE Make name of mock more visible in error messages
30
//DONE ExpectNotCalled (or equivalent) makes tests more expressive.
31
//DONE CoreMock should implement the hashCode invokedMethod for proxies
32
//DONE new hotmock syntax for expects and stubs
33
//DONE new hotmock syntax for expectNotCalled
34
//DONE moved expect(...) and stub() to beginning of expectation statement
35
//DONE demote dynamock API to an optional extension
36
//DONE move default behaviour of default result stub into constructor
37
//DONE reorganise directories. Change src/{framework,acceptance-tests} to core/{src,acceptance-tests}.
38
//DONE open hooks to allow different proxying mechanisms to reuse CoreMock implementation
39
//DONE Extract Describable interface. Priority one!
40
//DONE Better format for expected calls in error messages
41
// - make expected and actual call signatures look similar
42
//DONE Removed dynamock API.
43
// - if anybody wants it they can pull it out of CVS and maintain it as an extension
44
//DONE Test error message on verify failure
45
//DONE Good names for high-level and low-level API packages
46
//DONE Remove pending from BuilderId stuff. Complain if a matcher specifies an after clause for itself.
47
//DONE Remove deprecated methods
48
//DONE make constraints SelfDescribing
49
//DONE Create mock(...) methods in MockObjectTestCase
50
//DONE Move generation of mock name to MockObjectTestCase (or support test case)
51
//DONE Good error reporting (i.e. more than just a ClassCastException) when the type of a returned object is wrong.
52
//DONE Ditto for thrown exceptions
53
//DONE roll returnValues into main branch (see MockObjectTestCase.onConsecutiveCalls).
54
//DONE Add copyright comments to files
55
//DONE Reformat all source
56
//DONE Refactor CoreMock test cases to remove duplication
57

58     //-----------------------------------------------------------------------------------------
59
// Post 1.0 tasks
60

61     //TODO Clean up org.jmock.expectation package.
62
//TODO Make jmock.expectation package use Constraints instead of calling equals on expected value
63
//TODO Remove getters from Invocation (?)
64
//TODO Extract interface from Invocation class (?)
65
//TODO for trainer syntax: ((Thingy)mock.will(returnValue(10)).after("prev").id("asdad").train()),doIt(); ??
66
//TODO on failure, show previous invocations for all Mocks within test?
67
//TODO Extract construction and verification of mock objects into verifiable MockFactory class.
68
}
69
Popular Tags