public void CanResolveOpenClassTypes() { var scanner = new TypeScanner(typeof(AType).Assembly); var matches = scanner.FindClosingImplementationsOf(typeof(OpenClass<>)); matches.ShouldNotBeEmpty(); matches.ShouldContain(p => p.ConcreteType == typeof(OpenClassImplementation)); matches.ShouldNotContain(p => p.ConcreteType == typeof(OpenInterfaceImplementation)); matches.ShouldAllBe(p => p.GenericType == typeof(OpenClass<AType>)); }