Book Image

Mastering F#

By : Alfonso García-Caro Núñez, Suhaib Fahad
Book Image

Mastering F#

By: Alfonso García-Caro Núñez, Suhaib Fahad

Overview of this book

F# is a multi-paradigm programming language that encompasses object-oriented, imperative, and functional programming language properties. Now adopted in a wide range of application areas and is supported both by industry-leading companies who provide professional tools and by an active open community, F# is rapidly gaining popularity as it emerges in digital music advertising, creating music-focused ads for Spotify, Pandora, Shazam, and anywhere on the web. This book will guide you through the basics and will then help you master F#. The book starts by explaining how to use F# with Visual Studio, file ordering, and the differences between F# and C# in terms of usage. It moves on to explain the functional core of F# such as data types, type declarations, immutability, strong type interference, pattern matching, records, F# data structures, sequence expressions, and lazy evaluation. Next, the book takes you through imperative and asynchronous programming, F# type providers, applications, and testing in F#. Finally, we look into using F# with distributed programming and using F# as a suitable language for data science. In short, this book will help you learn F# for real-world applications and increase your productivity with functional programming.
Table of Contents (16 chapters)

Unit testing


Unit testing is perhaps the easiest and most widely used technique to write automated tests. It consists of dividing our program into units, running each of these units in isolation, and then making sure that it produces the expected results. Ideally, tests should cover all units of our program so that no part of the code is left untested before deploying it to production. In functional programming, these units normally correspond to functions, and because there is no shared state, these functions can easily be tested in isolation from the rest of the program.

Unit tests with NUnit

There are several libraries that help us write unit tests for .NET. Here, we will use one of the most popular ones - NUnit. NUnit is compatible both with C# and F#, so if you have any previous development experience in C# , chances are that you already know how to use it. Writing tests with NUnit is very easy. Let's say you have a module (MyLib.fs) such as the following:

    module MyLib 
 
...