예제 #1
0
        public void TemplateResolutionWorks()
        {
            AddEnabledFeature("Alpha");

            _testViewEngine.Add("~/Modules/Alpha/Styles/AlphaShape.css", null);
            _testViewEngine.Add("~/Modules/Alpha/Styles/alpha-shape.css", null);
            var strategy = _container.Resolve <IShapeTableProvider>();

            var builder = new ShapeTableBuilder(null);

            strategy.Discover(builder);
            var alterations = builder.BuildAlterations();

            Assert.That(alterations.Any(alteration => alteration.ShapeType == "Style"));

            var descriptor = new ShapeDescriptor {
                ShapeType = "Style"
            };

            alterations.Aggregate(descriptor, (d, alteration) => {
                alteration.Alter(d);
                return(d);
            });

            var keys = descriptor.Bindings.Select(b => b.Key);

            Assert.That(keys.Count() == keys.Select(k => k.ToLowerInvariant()).Distinct().Count(), "Descriptors should never vary by case only.");
        }
예제 #2
0
        static IEnumerable <ShapeAlteration> GetAlterationBuilders(IShapeTableProvider strategy)
        {
            var builder = new ShapeTableBuilder(null);

            strategy.Discover(builder);
            return(builder.BuildAlterations());
        }
예제 #3
0
        public void Discover_BindsToTheCorrectShapeTypes()
        {
            var builder = new ShapeTableBuilder(new Feature());

            _sut.Discover(builder);

            var alterations = builder.BuildAlterations();

            Assert.AreEqual(2, alterations.Count());
            Assert.Contains("Content", alterations.Select(a => a.ShapeType).ToArray());
            Assert.Contains("Widget", alterations.Select(a => a.ShapeType).ToArray());
        }
        public void TemplateResolutionWorks()
        {
            AddEnabledFeature("Alpha");

            _testViewEngine.Add("~/Modules/Alpha/Views/AlphaShape.blah", null);
            var strategy = _container.Resolve <IShapeTableProvider>();

            var builder = new ShapeTableBuilder(null);

            strategy.Discover(builder);
            var alterations = builder.BuildAlterations();

            Assert.That(alterations.Any(alteration => alteration.ShapeType.Equals("AlphaShape", StringComparison.OrdinalIgnoreCase)));
        }