<!DOCTYPE html> <html lang="en"> <head> <title>StubbingPolicy Enumeration Reference</title> <link rel="stylesheet" type="text/css" href="../css/jazzy.css" /> <link rel="stylesheet" type="text/css" href="../css/highlight.css" /> <meta charset='utf-8'> <script src="../js/jquery.min.js" defer></script> <script src="../js/jazzy.js" defer></script> <script src="../js/lunr.min.js" defer></script> <script src="../js/typeahead.jquery.js" defer></script> <script src="../js/jazzy.search.js" defer></script> </head> <body> <a name="//apple_ref/swift/Enum/StubbingPolicy" class="dashAnchor"></a> <a title="StubbingPolicy Enumeration Reference"></a> <header> <div class="content-wrapper"> <p><a href="../index.html">SwiftyMocky 4.2.0 Docs</a> (86% documented)</p> <p class="header-right"><a href="https://github.com/MakeAWishFoundation/SwiftyMocky"><img src="../img/gh.png" alt="GitHub"/>View on GitHub</a></p> <div class="header-right"> <form role="search" action="../search.json"> <input type="text" placeholder="Search documentation" data-typeahead> </form> </div> </div> </header> <div class="content-wrapper"> <p id="breadcrumbs"> <a href="../index.html">SwiftyMocky Reference</a> <img id="carat" src="../img/carat.png" alt=""/> StubbingPolicy Enumeration Reference </p> </div> <div class="content-wrapper"> <nav class="sidebar"> <ul class="nav-groups"> <li class="nav-group-name"> <a href="../Main%20Guides.html">Main Guides</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../overview.html">Overview</a> </li> <li class="nav-group-task"> <a href="../installation.html">Installation</a> </li> <li class="nav-group-task"> <a href="../setup-in-project.html">Setup in project</a> </li> <li class="nav-group-task"> <a href="../mockfile.html">Mockfile</a> </li> <li class="nav-group-task"> <a href="../command-line-interface.html">Command Line Interface</a> </li> <li class="nav-group-task"> <a href="../supported-features.html">Supported features</a> </li> <li class="nav-group-task"> <a href="../prototyping.html">Prototyping</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Additional%20Guides.html">Additional Guides</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../matcher-support-for-not-equatable.html">Matcher support for not Equatable</a> </li> <li class="nav-group-task"> <a href="../handling-generics.html">Handling Generics</a> </li> <li class="nav-group-task"> <a href="../examples.html">Examples</a> </li> <li class="nav-group-task"> <a href="../legacy.html">Legacy</a> </li> <li class="nav-group-task"> <a href="../add-xcode-generate-action.html">Add XCode generate action</a> </li> <li class="nav-group-task"> <a href="../known-issues.html">Known issues</a> </li> <li class="nav-group-task"> <a href="../changelog.html">CHANGELOG</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Global%20methods.html">Global methods</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Global%20methods.html#/s:11SwiftyMocky5Givenyyx_ABQzAA14StubbingPolicyOtAA4MockRzlF">Given(_:_:_:)</a> </li> <li class="nav-group-task"> <a href="../Global%20methods.html#/s:11SwiftyMocky5Givenyyxm_06StaticC0QzAA14StubbingPolicyOtAA0D4MockRzlF">Given(_:_:_:)</a> </li> <li class="nav-group-task"> <a href="../Global%20methods.html#/s:11SwiftyMocky7Performyyx_ABQztAA4MockRzlF">Perform(_:_:)</a> </li> <li class="nav-group-task"> <a href="../Global%20methods.html#/s:11SwiftyMocky7Performyyxm_06StaticC0QztAA0D4MockRzlF">Perform(_:_:)</a> </li> <li class="nav-group-task"> <a href="../Global%20methods.html#/s:11SwiftyMocky6Verify__4file4lineyx_ABQzs12StaticStringVSutAA4MockRzlF">Verify(_:_:file:line:)</a> </li> <li class="nav-group-task"> <a href="../Global%20methods.html#/s:11SwiftyMocky6Verify__4file4lineyxm_06StaticC0Qzs0F6StringVSutAA0F4MockRzlF">Verify(_:_:file:line:)</a> </li> <li class="nav-group-task"> <a href="../Global%20methods.html#/s:11SwiftyMocky6Verify___4file4lineyx_AA5CountOABQzs12StaticStringVSutAA4MockRzlF">Verify(_:_:_:file:line:)</a> </li> <li class="nav-group-task"> <a href="../Global%20methods.html#/s:11SwiftyMocky6Verify___4file4lineyxm_AA5CountO06StaticC0Qzs0G6StringVSutAA0G4MockRzlF">Verify(_:_:_:file:line:)</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Configuration.html">Configuration</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Enums/StubbingPolicy.html">StubbingPolicy</a> </li> <li class="nav-group-task"> <a href="../Enums/SequencingPolicy.html">SequencingPolicy</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Types.html">Types</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Protocols/Mock.html">Mock</a> </li> <li class="nav-group-task"> <a href="../Protocols/StaticMock.html">StaticMock</a> </li> <li class="nav-group-task"> <a href="../Enums/Parameter.html">Parameter</a> </li> <li class="nav-group-task"> <a href="../Classes/Matcher.html">Matcher</a> </li> <li class="nav-group-task"> <a href="../Classes/Matcher/ComparisonResult.html">– ComparisonResult</a> </li> <li class="nav-group-task"> <a href="../Classes/Matcher/ParameterComparisonResult.html">– ParameterComparisonResult</a> </li> <li class="nav-group-task"> <a href="../Protocols/Countable.html">Countable</a> </li> <li class="nav-group-task"> <a href="../Enums/Count.html">Count</a> </li> <li class="nav-group-task"> <a href="../Structs/Stubber.html">Stubber</a> </li> <li class="nav-group-task"> <a href="../Structs/StubberThrows.html">StubberThrows</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Generics.html">Generics</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Structs/GenericAttribute.html">GenericAttribute</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Helpers.html">Helpers</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Helpers.html#/s:11SwiftyMocky20XCTAssertThrowsError_2of_4file4lineyxyKXK_q_mSSyXKs12StaticStringVSuts0E0R_r0_lF">XCTAssertThrowsError(_:of:_:file:line:)</a> </li> <li class="nav-group-task"> <a href="../Helpers.html#/s:11SwiftyMocky20XCTAssertThrowsError_5error_4file4lineyxyKXK_q_SSyXKs12StaticStringVSutSQR_s0E0R_r0_lF">XCTAssertThrowsError(_:error:_:file:line:)</a> </li> <li class="nav-group-task"> <a href="../Classes/MockyAssertion.html">MockyAssertion</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Internal.html">Internal</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Classes/SwiftyMockyTestObserver.html">SwiftyMockyTestObserver</a> </li> <li class="nav-group-task"> <a href="../Classes/SwiftyMockyTestObserver.html">SwiftyMockyTestObserver</a> </li> <li class="nav-group-task"> <a href="../Structs/FatalErrorUtil.html">FatalErrorUtil</a> </li> <li class="nav-group-task"> <a href="../Protocols/OptionalType.html">OptionalType</a> </li> <li class="nav-group-task"> <a href="../Protocols/WithSequencingPolicy.html">WithSequencingPolicy</a> </li> <li class="nav-group-task"> <a href="../Protocols/WithStaticSequencingPolicy.html">WithStaticSequencingPolicy</a> </li> <li class="nav-group-task"> <a href="../Protocols/WithStubbingPolicy.html">WithStubbingPolicy</a> </li> <li class="nav-group-task"> <a href="../Extensions/Int.html">Int</a> </li> <li class="nav-group-task"> <a href="../Extensions/Optional.html">Optional</a> </li> <li class="nav-group-task"> <a href="../Extensions/UInt.html">UInt</a> </li> <li class="nav-group-task"> <a href="../Enums/MockError.html">MockError</a> </li> <li class="nav-group-task"> <a href="../Enums/StubProduct.html">StubProduct</a> </li> <li class="nav-group-task"> <a href="../Classes/StubbedMethod.html">StubbedMethod</a> </li> <li class="nav-group-task"> <a href="../Internal.html#/s:11SwiftyMocky7Failureys5NeverOSSF">Failure(_:)</a> </li> <li class="nav-group-task"> <a href="../Internal.html#/s:11SwiftyMocky0B6Assert__4file4lineySbyXK_SSyXKs12StaticStringVSutF">MockyAssert(_:_:file:line:)</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Other%20Guides.html">Other Guides</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../contents.html">Contents</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Other%20Classes.html">Other Classes</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Classes/ArgumentCaptor.html">ArgumentCaptor</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Other%20Enums.html">Other Enumerations</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Enums/MockScope.html">MockScope</a> </li> <li class="nav-group-task"> <a href="../Enums/Utils.html">Utils</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Other%20Protocols.html">Other Protocols</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Protocols/TypeErasedValue.html">TypeErasedValue</a> </li> </ul> </li> <li class="nav-group-name"> <a href="../Other%20Structs.html">Other Structures</a> <ul class="nav-group-tasks"> <li class="nav-group-task"> <a href="../Structs/TypeErasedAttribute.html">TypeErasedAttribute</a> </li> </ul> </li> </ul> </nav> <article class="main-content"> <section> <section class="section"> <h1>StubbingPolicy</h1> <div class="declaration"> <div class="language"> <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">StubbingPolicy</span></code></pre> </div> </div> <p>Given Policy for treating sequence of events (products). Used to determine if stub return values should be consumed once (.drop), or reused (.wrap). Applies to sequence as well - .drop means remove from stack after using, while .wrap iterates over sequence indefinitely.</p> <ul> <li><code>default</code>: Use current policy specified for Mock method type</li> <li><code>wrap</code>: Default policy in general. When reaching end of sequence of events, index will rewind to beginning (looping)</li> <li><code>drop</code>: With this policy, every call drops event. When events count reaches zero, given is removed from mock.</li> </ul> </section> <section class="section task-group-section"> <div class="task-group"> <ul> <li class="item"> <div> <code> <a name="/s:11SwiftyMocky14StubbingPolicyO7defaultyA2CmF"></a> <a name="//apple_ref/swift/Element/default" class="dashAnchor"></a> <a class="token" href="#/s:11SwiftyMocky14StubbingPolicyO7defaultyA2CmF">default</a> </code> </div> <div class="height-container"> <div class="pointer-container"></div> <section class="section"> <div class="pointer"></div> <div class="abstract"> <p>Use current policy specified for Mock method type</p> </div> <div class="declaration"> <h4>Declaration</h4> <div class="language"> <p class="aside-title">Swift</p> <pre class="highlight swift"><code><span class="k">case</span> <span class="err">`</span><span class="k">default</span><span class="err">`</span></code></pre> </div> </div> </section> </div> </li> <li class="item"> <div> <code> <a name="/s:11SwiftyMocky14StubbingPolicyO4wrapyA2CmF"></a> <a name="//apple_ref/swift/Element/wrap" class="dashAnchor"></a> <a class="token" href="#/s:11SwiftyMocky14StubbingPolicyO4wrapyA2CmF">wrap</a> </code> </div> <div class="height-container"> <div class="pointer-container"></div> <section class="section"> <div class="pointer"></div> <div class="abstract"> <p>Default policy in general. When reaching end of sequence of events, index will rewind to beginning (looping)</p> </div> <div class="declaration"> <h4>Declaration</h4> <div class="language"> <p class="aside-title">Swift</p> <pre class="highlight swift"><code><span class="k">case</span> <span class="n">wrap</span></code></pre> </div> </div> </section> </div> </li> <li class="item"> <div> <code> <a name="/s:11SwiftyMocky14StubbingPolicyO4dropyA2CmF"></a> <a name="//apple_ref/swift/Element/drop" class="dashAnchor"></a> <a class="token" href="#/s:11SwiftyMocky14StubbingPolicyO4dropyA2CmF">drop</a> </code> </div> <div class="height-container"> <div class="pointer-container"></div> <section class="section"> <div class="pointer"></div> <div class="abstract"> <p>With this policy, every call drops event. When events count reaches zero, given is removed from mock.</p> </div> <div class="declaration"> <h4>Declaration</h4> <div class="language"> <p class="aside-title">Swift</p> <pre class="highlight swift"><code><span class="k">case</span> <span class="n">drop</span></code></pre> </div> </div> </section> </div> </li> <li class="item"> <div> <code> <a name="/s:11SwiftyMocky14StubbingPolicyO4realyA2CF"></a> <a name="//apple_ref/swift/Method/real(_:)" class="dashAnchor"></a> <a class="token" href="#/s:11SwiftyMocky14StubbingPolicyO4realyA2CF">real(_:<wbr>)</a> </code> </div> <div class="height-container"> <div class="pointer-container"></div> <section class="section"> <div class="pointer"></div> <div class="abstract"> <p>[Internal] Resolves used policy. If self is default, will use inherited, otherwise self</p> </div> <div class="declaration"> <h4>Declaration</h4> <div class="language"> <p class="aside-title">Swift</p> <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">real</span><span class="p">(</span><span class="n">_</span> <span class="nv">inherited</span><span class="p">:</span> <span class="kt">StubbingPolicy</span><span class="p">)</span> <span class="o">-></span> <span class="kt">StubbingPolicy</span></code></pre> </div> </div> <div> <h4>Parameters</h4> <table class="graybox"> <tbody> <tr> <td> <code> <em>inherited</em> </code> </td> <td> <div> <p>Inherited (usually global default) policy</p> </div> </td> </tr> </tbody> </table> </div> <div> <h4>Return Value</h4> <p>Policy used. Always .wrap or .drop</p> </div> </section> </div> </li> <li class="item"> <div> <code> <a name="/s:11SwiftyMocky14StubbingPolicyO7updated_4withS2i_SitF"></a> <a name="//apple_ref/swift/Method/updated(_:with:)" class="dashAnchor"></a> <a class="token" href="#/s:11SwiftyMocky14StubbingPolicyO7updated_4withS2i_SitF">updated(_:<wbr>with:<wbr>)</a> </code> </div> <div class="height-container"> <div class="pointer-container"></div> <section class="section"> <div class="pointer"></div> <div class="abstract"> <p>[Internal] Computes new index for stubs array. For wrap will rewind if out of bounds, for drop will not. Default is handled as wrap.</p> </div> <div class="declaration"> <h4>Declaration</h4> <div class="language"> <p class="aside-title">Swift</p> <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">updated</span><span class="p">(</span><span class="n">_</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="n">with</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span></code></pre> </div> </div> <div> <h4>Parameters</h4> <table class="graybox"> <tbody> <tr> <td> <code> <em>index</em> </code> </td> <td> <div> <p>Index of current element</p> </div> </td> </tr> <tr> <td> <code> <em>count</em> </code> </td> <td> <div> <p>Number of elements</p> </div> </td> </tr> </tbody> </table> </div> <div> <h4>Return Value</h4> <p>New index</p> </div> </section> </div> </li> </ul> </div> </section> </section> <section id="footer"> <p>Copyright © 2017 MakeAWishFoundation. All rights reserved.</p> <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.2</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p> </section> </article> </div> </body> </html>