public void Should_handle_null_metadata() { // Given var module = new FakeNancyModule(with => { with.AddGetRoute("/"); }); var catalog = A.Fake<INancyModuleCatalog>(); A.CallTo(() => catalog.GetAllModules(A<NancyContext>._)).Returns(new[] { module }); var metadataProvider = A.Fake<IRouteMetadataProvider>(); A.CallTo(() => metadataProvider.GetMetadata(null, null)).WithAnyArguments().Returns(null); // When var cache = new RouteCache( catalog, A.Fake<INancyContextFactory>(), this.routeSegmentExtractor, A.Fake<IRouteDescriptionProvider>(), A.Fake<ICultureService>(), new[] { metadataProvider }); // Then cache[module.GetType()][0].Item2.Metadata.Raw.Count.ShouldEqual(0); }