public void ShouldFailToDiscoverRootTypeOnCollectionWhenNoTypeInPropertyBag() { var sut = new FormHelperEx(); sut.SetController(new HomeController(), new ControllerContext()); var prop = sut.ObtainTargetProperty(RequestContext.PropertyBag, "items[0].Name"); Assert.IsNull(prop); }
public void ShouldDiscoverRootTypeOnCollection() { var sut = new FormHelperEx(); sut.SetController(new HomeController(), new ControllerContext()); sut.ControllerContext.PropertyBag["itemstype"] = typeof(Product); //no need to pass indexer var prop = sut.ObtainTargetProperty(RequestContext.PropertyBag, "items[0].Name"); var expect = typeof(Product).GetProperty("Name"); Assert.AreEqual(expect, prop); }
public void ShouldDiscoverRootTypeOnCollectionWhenIndexedRootInPropertyBag() { var sut = new FormHelperEx(); sut.SetController(new HomeController(), new ControllerContext()); //this is what current code requires to discover sut.ControllerContext.PropertyBag["items[0]type"] = typeof(Product); var prop = sut.ObtainTargetProperty(RequestContext.PropertyBag, "items[0].Name"); var expect = typeof(Product).GetProperty("Name"); Assert.AreEqual(expect, prop); }