13573b2c84372d9484296fa658f5276f6c09acb92Daniel Dunbar/* 29257700370b2bf9ddba666c472a2ffe8bd376f77Nuno Lopes * Copyright (c) 2007 Mockito contributors 39b6912ceefbf15964758b835b62f75a60fa5b4ceChris Lattner * This program is made available under the terms of the MIT License. 49257700370b2bf9ddba666c472a2ffe8bd376f77Nuno Lopes */ 59257700370b2bf9ddba666c472a2ffe8bd376f77Nuno Lopespackage org.mockito; 69b6912ceefbf15964758b835b62f75a60fa5b4ceChris Lattner 79b6912ceefbf15964758b835b62f75a60fa5b4ceChris Lattnerimport org.mockito.internal.stubbing.answers.CallsRealMethods; 89b6912ceefbf15964758b835b62f75a60fa5b4ceChris Lattnerimport org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer; 99b6912ceefbf15964758b835b62f75a60fa5b4ceChris Lattnerimport org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs; 109b6912ceefbf15964758b835b62f75a60fa5b4ceChris Lattnerimport org.mockito.internal.stubbing.defaultanswers.ReturnsMocks; 119b6912ceefbf15964758b835b62f75a60fa5b4ceChris Lattnerimport org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls; 129b6912ceefbf15964758b835b62f75a60fa5b4ceChris Lattnerimport org.mockito.stubbing.Answer; 1301a46924878a85e2b8db914277801f747675fe8bChris Lattner 1401a46924878a85e2b8db914277801f747675fe8bChris Lattner/** 1501a46924878a85e2b8db914277801f747675fe8bChris Lattner * Enumeration of pre-configured mock answers 1601a46924878a85e2b8db914277801f747675fe8bChris Lattner * <p> 17c7855c6447efc16dd49685d81288edb061e6808eChris Lattner * You can use it to pass extra parameters to @Mock annotation, see more info here: {@link Mock} 18c7855c6447efc16dd49685d81288edb061e6808eChris Lattner * <p> 19c7855c6447efc16dd49685d81288edb061e6808eChris Lattner * Example: 20c7855c6447efc16dd49685d81288edb061e6808eChris Lattner * <pre class="code"><code class="java"> 21aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner * @Mock(answer = RETURNS_DEEP_STUBS) UserProvider userProvider; 22aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner * </code></pre> 23aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner * <b>This is not the full list</b> of Answers available in Mockito. Some interesting answers can be found in org.mockito.stubbing.answers package. 24aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner */ 25aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattnerpublic enum Answers { 26aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner 27aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner /** 28aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner * The default configured answer of every mock. 29aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner * 30aa4aa00ba7489742cf688c1e33fc077035c51f53Chris Lattner * <p>Please see the {@link org.mockito.Mockito#RETURNS_DEFAULTS} documentation for more details.</p> 3196a731ddcab3b34d89564010fef7f02dd62f76afDaniel Dunbar * 3296a731ddcab3b34d89564010fef7f02dd62f76afDaniel Dunbar * @see org.mockito.Mockito#RETURNS_DEFAULTS 3396a731ddcab3b34d89564010fef7f02dd62f76afDaniel Dunbar */ 3496a731ddcab3b34d89564010fef7f02dd62f76afDaniel Dunbar RETURNS_DEFAULTS(new GloballyConfiguredAnswer()), 3596a731ddcab3b34d89564010fef7f02dd62f76afDaniel Dunbar 3696a731ddcab3b34d89564010fef7f02dd62f76afDaniel Dunbar /** 3796a731ddcab3b34d89564010fef7f02dd62f76afDaniel Dunbar * An answer that returns smart-nulls. 38 * 39 * <p>Please see the {@link org.mockito.Mockito#RETURNS_SMART_NULLS} documentation for more details.</p> 40 * 41 * @see org.mockito.Mockito#RETURNS_SMART_NULLS 42 */ 43 RETURNS_SMART_NULLS(new ReturnsSmartNulls()), 44 45 /** 46 * An answer that returns <strong>mocks</strong> (not stubs). 47 * 48 * <p>Please see the {@link org.mockito.Mockito#RETURNS_MOCKS} documentation for more details.</p> 49 * 50 * @see org.mockito.Mockito#RETURNS_MOCKS 51 */ 52 RETURNS_MOCKS(new ReturnsMocks()), 53 54 55 /** 56 * An answer that returns <strong>deep stubs</strong> (not mocks). 57 * 58 * <p>Please see the {@link org.mockito.Mockito#RETURNS_DEEP_STUBS} documentation for more details.</p> 59 * 60 * @see org.mockito.Mockito#RETURNS_DEEP_STUBS 61 */ 62 RETURNS_DEEP_STUBS(new ReturnsDeepStubs()), 63 64 /** 65 * An answer that calls the real methods (used for partial mocks). 66 * 67 * <p>Please see the {@link org.mockito.Mockito#CALLS_REAL_METHODS} documentation for more details.</p> 68 * 69 * @see org.mockito.Mockito#CALLS_REAL_METHODS 70 */ 71 CALLS_REAL_METHODS(new CallsRealMethods()) 72 ; 73 74 private Answer<Object> implementation; 75 76 private Answers(Answer<Object> implementation) { 77 this.implementation = implementation; 78 } 79 80 public Answer<Object> get() { 81 return implementation; 82 } 83}