public void WHEN_Template_Use_SubTemplate_Dependencies_SHOULD_Contains_All_TemplateNames_From_the_Tree() { //Arrange var controllerContext = new Mock <ControllerContext>(MockBehavior.Strict); var cachedView = new HandlebarsView((w, o) => { }, GetRandom.String(32), new Dictionary <string, HandlebarsView>()); cachedView.Dependencies.Add("SubLevel1", cachedView); cachedView.Dependencies.Add("SubLevel2", cachedView); cachedView.Dependencies.Add("OtherLeaf", cachedView); var cacheProvider = CacheProviderFactory.CreateForHandlebars(cachedView); var viewEngine = new UnitTestableHandlebarsViewEngine(cacheProvider.Object); viewEngine.ViewLocationFormats = new string[] { "~/ViewEngine/Assets/{0}.hbs" }; viewEngine.PartialViewLocationFormats = new string[] { "~/ViewEngine/Assets/{0}.hbs" }; //Act ViewEngineResult result = viewEngine.FindPartialView(controllerContext.Object, "Root", false); //Assert result.View.Should().BeOfType <HandlebarsView>(); result.View.As <HandlebarsView>().CompiledTemplate.Should().NotBeNull(); result.View.As <HandlebarsView>().VirtualPath.Should().NotBeNull(); result.View.As <HandlebarsView>().Dependencies.Should().ContainKey("SubLevel1"); result.View.As <HandlebarsView>().Dependencies.Should().ContainKey("SubLevel2"); result.View.As <HandlebarsView>().Dependencies.Should().ContainKey("OtherLeaf"); }