diff --git a/src/Umbraco.Tests/PublishedContent/StronglyTypedModels/TypedModelBase.cs b/src/Umbraco.Tests/PublishedContent/StronglyTypedModels/TypedModelBase.cs index f466a9045a..4cc6e2ebf2 100644 --- a/src/Umbraco.Tests/PublishedContent/StronglyTypedModels/TypedModelBase.cs +++ b/src/Umbraco.Tests/PublishedContent/StronglyTypedModels/TypedModelBase.cs @@ -8,20 +8,13 @@ namespace Umbraco.Tests.PublishedContent.StronglyTypedModels { public abstract class TypedModelBase { - private IPublishedContent _publishedContent; - - protected TypedModelBase(){} + private readonly IPublishedContent _publishedContent; protected TypedModelBase(IPublishedContent publishedContent) { _publishedContent = publishedContent; } - internal void Add(IPublishedContent publishedContent) - { - _publishedContent = publishedContent; - } - public readonly Func Property = MethodBase.GetCurrentMethod; public static string DefaultString = default(string); public static int DefaultInteger = default(int); diff --git a/src/Umbraco.Tests/PublishedContent/StronglyTypedModels/UmbracoTemplatePage`T.cs b/src/Umbraco.Tests/PublishedContent/StronglyTypedModels/UmbracoTemplatePage`T.cs index f76495531a..6e27886b83 100644 --- a/src/Umbraco.Tests/PublishedContent/StronglyTypedModels/UmbracoTemplatePage`T.cs +++ b/src/Umbraco.Tests/PublishedContent/StronglyTypedModels/UmbracoTemplatePage`T.cs @@ -1,8 +1,9 @@ -using Umbraco.Web.Mvc; +using Umbraco.Core.Models; +using Umbraco.Web.Mvc; namespace Umbraco.Tests.PublishedContent.StronglyTypedModels { - public abstract class UmbracoTemplatePage : UmbracoTemplatePage where T : TypedModelBase, new() + public abstract class UmbracoTemplatePage : UmbracoTemplatePage where T : TypedModelBase { protected override void InitializePage() { @@ -12,8 +13,11 @@ namespace Umbraco.Tests.PublishedContent.StronglyTypedModels if (Model != null) { //Map CurrentModel here - TypedModel = new T(); - TypedModel.Add(Model.Content); + var constructorInfo = typeof(T).GetConstructor(new []{typeof(IPublishedContent)}); + if (constructorInfo != null) + { + TypedModel = constructorInfo.Invoke(new object[]{Model.Content}) as T; + } } }