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."); }
static IEnumerable <ShapeAlteration> GetAlterationBuilders(IShapeTableProvider strategy) { var builder = new ShapeTableBuilder(null); strategy.Discover(builder); return(builder.BuildAlterations()); }
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))); }