Skip to content

Instantly share code, notes, and snippets.

namespace TestLib
open NUnit.Framework
// Only module visible in VS, no test results reported by ReSharper
[<TestFixture>]
module Tests =
open FsUnit
[<Test>]
@bartsokol
bartsokol / EventStore.fs
Last active July 5, 2017 19:58
Register F# DU (Discriminated Union) cases as event types in Marten event store
module EventStore =
open Marten
open Microsoft.FSharp.Reflection
open System.Reflection
type Events =
| Event1 of string
| Event2 of int
let registerUnionCasesAsEvents<'a> (opts: StoreOptions) =
@bartsokol
bartsokol / Directory.build.props
Created July 17, 2018 09:00
Props to make Type Providers compile from dotnet build
<?xml version="1.0" encoding="utf-8"?>
<Project>
<!-- Type providers currently can't run inside the .NET Core 2.0 hosted compiler, see https://github.com/Microsoft/visualfsharp/pull/3658#issuecomment-334773415 -->
<PropertyGroup>
<IsWindows Condition="'$(OS)' == 'Windows_NT'">true</IsWindows>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
</PropertyGroup>
<PropertyGroup Condition="'$(IsWindows)' == 'true' AND Exists('C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsc.exe')">
<FscToolPath>C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0</FscToolPath>