Hedgehog automatically generates a comprehensive array of test cases, exercising your software in ways human testers would never imagine.
Generate hundreds of test cases automatically, exposing even the most insidious of corner cases. Failures are automatically simplified, giving developers coherent, intelligible error messages.
Features:
- Integrated shrinking, shrinks obey invariants by construction.
- Abstract state machine testing.
- Generators allow monadic effects.
- Range combinators for full control over the scope of generated numbers and collections.
- Equality and roundtrip assertions show a diff instead of the two inequal values.
- Template Haskell test runner which executes properties concurrently.
https://github.com/hedgehogqa/haskell-hedgehog
#haskell
Also available for #scala, #fsharp, #csharp, and #r
Generate hundreds of test cases automatically, exposing even the most insidious of corner cases. Failures are automatically simplified, giving developers coherent, intelligible error messages.
Features:
- Integrated shrinking, shrinks obey invariants by construction.
- Abstract state machine testing.
- Generators allow monadic effects.
- Range combinators for full control over the scope of generated numbers and collections.
- Equality and roundtrip assertions show a diff instead of the two inequal values.
- Template Haskell test runner which executes properties concurrently.
https://github.com/hedgehogqa/haskell-hedgehog
#haskell
Also available for #scala, #fsharp, #csharp, and #r
GitHub
GitHub - hedgehogqa/haskell-hedgehog: Release with confidence, state-of-the-art property testing for Haskell.
Release with confidence, state-of-the-art property testing for Haskell. - hedgehogqa/haskell-hedgehog
Great talk about solving the same simple problem with three completely different languages: #csharp, #haskell, and #clojure
From one of my favourite speakers / authors out there:
> First, we'll do a brief overview of the FizzBuzz kata, and see one 'idiomatic' way to implement it in C# (the Java, Javascript, Visual Basic, etc. version would be similar, so all OO programmers are welcome). Next, most of the talk will be a live demo showing approaches to the kata in Haskell and Clojure. If you've never seen Haskell or Clojure before, but are curious about these languages, this is the talk for you! Finally, we take some of the ideas from the Haskell and Clojure implementations, and bring them back to C# for a second attempt at the kata.
From one of my favourite speakers / authors out there:
> First, we'll do a brief overview of the FizzBuzz kata, and see one 'idiomatic' way to implement it in C# (the Java, Javascript, Visual Basic, etc. version would be similar, so all OO programmers are welcome). Next, most of the talk will be a live demo showing approaches to the kata in Haskell and Clojure. If you've never seen Haskell or Clojure before, but are curious about these languages, this is the talk for you! Finally, we take some of the ideas from the Haskell and Clojure implementations, and bring them back to C# for a second attempt at the kata.
YouTube
One kata, three languages - Mark Seemann
First, we'll do a brief overview of the FizzBuzz kata, and see one 'idiomatic' way to implement it in C# (the Java, Javascript, Visual Basic, etc. version would be similar, so all OO programmers are welcome). Next, most of the talk will be a live demo showing…
❤1
Performance analysis toolkit for #csharp
Perfolizer is a collection of useful algorithms for performance analysis. You can use it as a NuGet package or via a command-line tool.
Perfolizer is used as a statistical engine for BenchmarkDotNet (the most popular .NET library for benchmarking).
https://github.com/AndreyAkinshin/perfolizer
Perfolizer is a collection of useful algorithms for performance analysis. You can use it as a NuGet package or via a command-line tool.
Perfolizer is used as a statistical engine for BenchmarkDotNet (the most popular .NET library for benchmarking).
https://github.com/AndreyAkinshin/perfolizer
> It has been over 4 years since I last wrote #csharp, and being exposed to functional programming clearly affected how I write code today. The snippet I wrote seems very neat and natural, however, some people expressed concerns that it doesn’t feel like C# code — “It looks too functional.“
Great article about writing simple and readable code in any language.
Great article about writing simple and readable code in any language.