title: Testing a method that delegates to another object
body: <p>This is a model in my project - </p>
  
  <pre><code>class Subscription &lt; ActiveRecord::Base
    def active?
      SubscriptionValidationPolicy.new(self).active?
    end
  end
  </code></pre>
  
  <p>When I'm unit testing <code>active?</code>, should I setup a <code>subscription</code> for active and inactive states and assert on that or should I make a double for <code>SubscriptionValidationPolicy</code>, inject it in somehow and then assert whether <code>active?</code> was called on it?</p>
  
  <p>Or is it all just opinionated how I go about testing this. I'm going to be testing <code>SubscriptionValidationPolicy</code> anyway, so it feels redundant to do a "state based" test for the <code>Subscription#active?</code> method. </p>
  
  <p>Would love some thoughts on this :)</p>