anchor.diff:      
       res |> Seq.distinct |> Seq.length |> should equal res.Length
   
  -[<Fact>]
  -let ``DiscoverAssemblies: filter -> filtered``() =
  -    null
  +let discoverAssembliesFilterCases =
  +    [
  +        ((fun (x:Assembly) -> x <> root), [root], [assRefByTestClasses; mscorlibAss]);
  +        ((fun (x:Assembly) -> not (x.FullName.Contains "mscorlib")), [mscorlibAss], [root; assRefByTestClasses])
  +    ]
  +
  +[<Theory>]
  +[<InlineData(0)>]
  +[<InlineData(1)>]
  +let ``DiscoverAssemblies: filter -> filtered`` case =
  +    let (filter, rejectedAsses, acceptedAsses) = discoverAssembliesFilterCases.[case]
  +
  +    let res = DiscoverAssemblies root (Some filter)
  +    
  +    res |> assertNotContains rejectedAsses
  +    res |> assertContains acceptedAsses
  
positive.code: ﻿module AssemblyDiscoveryTests
  
  open Xunit
  open FsUnit.Xunit
  open TestsHelpers
  
negative.code: // DiscoverAssemblies
  
  let root = typeof<R1>.Assembly
  let assRefByTestClasses = ReferencedByTestClassesOnly.Assembly
  let mscorlibAss = typeof<string>.Assembly
  
  [<Fact>]
  let ``DiscoverAssemblies: -> root ass and referenced asses``() =
      let res = DiscoverAssemblies root None
      
      res |> assertContains [root; assRefByTestClasses; mscorlibAss]
  
  [<Fact>]
  let ``DiscoverAssemblies: -> no duplicates``() =
  