Skip to content

Instantly share code, notes, and snippets.

View moodmosaic's full-sized avatar

Nikos Baxevanis moodmosaic

View GitHub Profile
@moodmosaic
moodmosaic / clarinet-fuzz-dsl.ts
Created August 10, 2023 21:27
A DSL for turning concrete tests into prop/fuzz tests on top of Clarinet.test
Clarinet.test({
name: "ascii-to-buff",
runs: 1000,
logs: true,
data: {
text: {
minLength: 0,
maxLength: 127,
}
},
@moodmosaic
moodmosaic / sup_test.ts
Last active March 16, 2022 10:43
Clarity contracts can be property-based tested
import { Clarinet, Tx, Chain, Account, types }
from 'https://deno.land/x/[email protected]/index.ts';
import { assert, assertEquals }
from 'https://deno.land/[email protected]/testing/asserts.ts';
import fc
from 'https://cdn.skypack.dev/fast-check';
Clarinet.test({
@moodmosaic
moodmosaic / stack.yaml
Last active November 1, 2018 13:32
Semigroup Laws
resolver:
lts-11.22
extra-deps:
- hedgehog-0.6.1
@moodmosaic
moodmosaic / TH.hs
Last active April 30, 2018 12:30
Parametrised unit tests and Template Haskell
{-# LANGUAGE TemplateHaskell #-}
module Discordia.TH where
import Language.Haskell.Extract (functionExtractorMap)
import Language.Haskell.TH
import Test.Framework (defaultMain)
import Test.HUnit (Test(..))
discover :: ExpQ
module SumProduct (
KnownColor (..)
, RGB (..)
, redColor
, magenta
, red
) where
We couldn’t find that file to show.
@moodmosaic
moodmosaic / Main.hs
Created May 25, 2017 03:21
Servant example from "Write a client library for any web API in 5 minutes" https://haskell-servant.github.io/client-in-5-minutes.html
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
import Control.Applicative
import Control.Monad
import Control.Monad.IO.Class
import Control.Monad.Trans.Except
import Data.Aeson
# Last checked
# $ date
# Mon Feb 27 23:59:15 EEST 2017
2017-02-17 https://fsharpforfunandprofit.com/cap/
2017-02-17 https://fsharpforfunandprofit.com/turtle/
2017-02-17 https://fsharpforfunandprofit.com/video/
2016-12-05 https://fsharpforfunandprofit.com/posts/dependency-injection-1
2016-08-01 https://fsharpforfunandprofit.com/installing-and-using/
2016-06-23 https://fsharpforfunandprofit.com/parser/
name: Booking
version: 0.1.0.0
synopsis: Handling a reservation request in Haskell. Proof of concept
description: Please see README.md
homepage: https://gist.github.com/ploeh/c999e2ae2248bd44d775
license: MIT
license-file: LICENSE
author: Mark Seemann
maintainer: [email protected]
copyright: 2016 Mark Seemann
@moodmosaic
moodmosaic / LightCheck.fs
Last active December 13, 2020 02:02
LightCheck is a QuickCheck-based clone, written in F# for educational use.
// Port of Haskell
// - https://hackage.haskell.org/package/QuickCheck-1.2.0.1
// - https://hackage.haskell.org/package/random-1.1
namespace LightCheck
/// <summary>
/// This module deals with the common task of pseudo-random number generation.
/// It makes it possible to generate repeatable results, by starting with a
/// specified initial random number generator, or to get different results on