public void ConstraintsGet_ReturnsNull()
        {
            // Arrange
            RouteProviderAttribute product = CreateProductUnderTest();

            // Act
            HttpRouteValueDictionary constraints = product.Constraints;

            // Assert
            Assert.Null(constraints);
        }
        public void OrderGet_ReturnsZero()
        {
            // Arrange
            RouteProviderAttribute product = CreateProductUnderTest();

            // Act
            int order = product.Order;

            // Assert
            Assert.Equal(0, order);
        }
        public void NameGet_ReturnsNull()
        {
            // Arrange
            RouteProviderAttribute product = CreateProductUnderTest();

            // Act
            string name = product.Name;

            // Assert
            Assert.Null(name);
        }
        public void TemplateGet_ReturnsSpecifiedInstance()
        {
            // Arrange
            string expectedTemplate        = "RouteTemplate";
            RouteProviderAttribute product = CreateProductUnderTest(expectedTemplate);

            // Act
            string template = product.Template;

            // Assert
            Assert.Same(expectedTemplate, template);
        }
        public void CreateRoute_UsesNamePropertyWhenBuilding()
        {
            // Arrange
            string expectedName            = "RouteName";
            RouteProviderAttribute product = CreateProductUnderTest();

            product.Name = expectedName;

            string             name    = null;
            DirectRouteBuilder builder = null;

            builder = CreateBuilder(() =>
            {
                name = builder.Name;
                return(null);
            });
            DirectRouteProviderContext context = CreateContext((i) => builder);

            // Act
            HttpRouteEntry ignore = product.CreateRoute(context);

            // Assert
            Assert.Same(expectedName, name);
        }
        public void CreateRoute_UsesOrderPropertyWhenBuilding()
        {
            // Arrange
            int expectedOrder = 123;
            RouteProviderAttribute product = CreateProductUnderTest();

            product.Order = expectedOrder;

            int order = 0;
            DirectRouteBuilder builder = null;

            builder = CreateBuilder(() =>
            {
                order = builder.Order;
                return(null);
            });
            DirectRouteProviderContext context = CreateContext((i) => builder);

            // Act
            HttpRouteEntry ignore = product.CreateRoute(context);

            // Assert
            Assert.Equal(expectedOrder, order);
        }