Implementing Specials

So we have a more complex generator for specials, and a basic checkout implementation that doesn’t consider specials at all. We have everything we need to get started on implementing specials. Our first step should be making sure our test actually fails eventually, as a sanity check to know it’s good at detecting bad cases:

 $ ​​rebar3​​ ​​proper
 build information and other properties
 ===> Testing prop_checkout:prop_special()
 ......!
 Failed: After 7 test(s).
 {[[0],[6,1],[0],[0],[6,1],[6,1],[6,1],[0],[6,1],[6,1],[0],[6,1],[6,1],[6,1],
 [6,1],[6,1],[6,1],[6,1],[6,1],[0],[6,1],[6,1],[6,1],[0],[6,1],[0],[0],[6,1],
 [6,1],[6,1],[6,1],[0],[0],[0],[6,1],[6,1],[0]],20,[{[0],-2},{[6,1],1}],
 [{[0],2,3},{[6,1],5,0}]}
 
 

Get Property-Based Testing with PropEr, Erlang, and Elixir now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.