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);
        }