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