Many developers are probably familiar with unit-testing, and probably a few even rigorously utilize it, but software validation exists on a spectrum ranging from formal verification to nothing at all. Unit-testing tends to reside a lot closer to the empty abyss side of that spectrum in-practice, so what methods and tools can we use to start inching (centimetering, for the internationally inclined) closer to the other side? To get to a point where we're brimming with confidence about our design and implementation? Property-Based Testing can be the next step on that journey, and this month we'll take a look at one of Elixir's PBT frameworks and use it to validate a bit of code.
For the newcomers, the "Games" format is designed to create a bit of friendly competition and is accessible for all ranges of experience; beginners and pros alike.
If you'd like to take a look at the previous sessions' exercises feel free to check them out here: https://github.com/elixir-pdx/, some submitted solutions are available on non-master branches.
Early in this series we'll be focusing mostly on solving problems in a functional paradigm, and as the series continues over time we'll move more and more toward Elixir's differentiators; Erlang interop, hygienic macros, & OTP patterns.
If all that read like gibberish to you, don't worry you don't have to know any of that jargon, and by the time you do everything will already make sense. Because we'll introduce ideas and concepts in a way that will help you understand those things conceptually before you ever need a weird name for them.
Food and drinks will be provided.
Please make sure you come with a computer to work on and have Elixir pre-installed locally or in a VM and ready to go.
Special thanks to our friends at Puppet, ‘the leader in IT automation’, for hosting us.