protected override void ValidateProperties(SPListItem item, ListItemDefinition definition) { base.ValidateProperties(item, definition); var typedDefinition = definition as ComposedLookItemDefinition; var assert = ServiceFactory.AssertService .NewAssert(typedDefinition, item) .ShouldNotBeNull(item) .ShouldBeEqual(m => m.Name, o => o.GetComposedLookName()); if (typedDefinition.DisplayOrder.HasValue) assert.ShouldBeEqual(m => m.DisplayOrder, o => o.GetComposedLookDisplayOrder()); else assert.SkipProperty(m => m.DisplayOrder, "DisplayOrder is NULL"); // master page if (!string.IsNullOrEmpty(typedDefinition.MasterPageUrl)) { var urlValue = item.GetComposedLookMasterPageUrl(); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.MasterPageUrl); var isValid = (urlValue != null) && (urlValue.Url == s.MasterPageUrl); return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.MasterPageDescription); var isValid = (urlValue != null) && (urlValue.Description == s.MasterPageDescription); return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); } else { assert.SkipProperty(m => m.MasterPageUrl, "MasterPageUrl is NULL"); assert.SkipProperty(m => m.MasterPageDescription, "MasterPageDescription is NULL"); } // font scheme if (!string.IsNullOrEmpty(typedDefinition.FontSchemeUrl)) { var urlValue = item.GetComposedLookFontSchemeUrl(); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.FontSchemeUrl); var isValid = (urlValue != null) && (urlValue.Url == s.FontSchemeUrl); return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.FontSchemeDescription); var isValid = (urlValue != null) && (urlValue.Description == s.FontSchemeDescription); return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); } else { assert.SkipProperty(m => m.FontSchemeUrl, "MasterPageUrl is NULL"); assert.SkipProperty(m => m.FontSchemeDescription, "MasterPageDescription is NULL"); } // image url if (!string.IsNullOrEmpty(typedDefinition.ImageUrl)) { var urlValue = item.GetComposedLookImageUrl(); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.ImageUrl); var isValid = (urlValue != null) && (urlValue.Url == s.ImageUrl); return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.ImageDescription); var isValid = (urlValue != null) && (urlValue.Description == s.ImageDescription); return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); } else { assert.SkipProperty(m => m.ImageUrl, "ImageUrl is NULL"); assert.SkipProperty(m => m.ImageDescription, "ImageDescription is NULL"); } // theme url if (!string.IsNullOrEmpty(typedDefinition.ThemeUrl)) { var urlValue = item.GetComposedLookThemeUrl(); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.ThemeUrl); var isValid = (urlValue != null) && (urlValue.Url == s.ThemeUrl); return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.ThemeDescription); var isValid = (urlValue != null) && (urlValue.Description == s.ThemeDescription); return new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }; }); } else { assert.SkipProperty(m => m.ThemeUrl, "ThemeUrl is NULL"); assert.SkipProperty(m => m.ThemeDescription, "ThemeDescription is NULL"); } }
protected override void ValidateProperties(SPListItem item, ListItemDefinition definition) { base.ValidateProperties(item, definition); var typedDefinition = definition as ComposedLookItemDefinition; var assert = ServiceFactory.AssertService .NewAssert(typedDefinition, item) .ShouldNotBeNull(item) .ShouldBeEqual(m => m.Name, o => o.GetComposedLookName()); if (typedDefinition.DisplayOrder.HasValue) { assert.ShouldBeEqual(m => m.DisplayOrder, o => o.GetComposedLookDisplayOrder()); } else { assert.SkipProperty(m => m.DisplayOrder, "DisplayOrder is NULL"); } // master page if (!string.IsNullOrEmpty(typedDefinition.MasterPageUrl)) { var urlValue = item.GetComposedLookMasterPageUrl(); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.MasterPageUrl); var isValid = (urlValue != null) && (urlValue.Url == s.MasterPageUrl); return(new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }); }); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.MasterPageDescription); var isValid = (urlValue != null) && (urlValue.Description == s.MasterPageDescription); return(new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }); }); } else { assert.SkipProperty(m => m.MasterPageUrl, "MasterPageUrl is NULL"); assert.SkipProperty(m => m.MasterPageDescription, "MasterPageDescription is NULL"); } // font scheme if (!string.IsNullOrEmpty(typedDefinition.FontSchemeUrl)) { var urlValue = item.GetComposedLookFontSchemeUrl(); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.FontSchemeUrl); var isValid = (urlValue != null) && (urlValue.Url == s.FontSchemeUrl); return(new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }); }); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.FontSchemeDescription); var isValid = (urlValue != null) && (urlValue.Description == s.FontSchemeDescription); return(new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }); }); } else { assert.SkipProperty(m => m.FontSchemeUrl, "MasterPageUrl is NULL"); assert.SkipProperty(m => m.FontSchemeDescription, "MasterPageDescription is NULL"); } // image url if (!string.IsNullOrEmpty(typedDefinition.ImageUrl)) { var urlValue = item.GetComposedLookImageUrl(); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.ImageUrl); var isValid = (urlValue != null) && (urlValue.Url == s.ImageUrl); return(new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }); }); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.ImageDescription); var isValid = (urlValue != null) && (urlValue.Description == s.ImageDescription); return(new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }); }); } else { assert.SkipProperty(m => m.ImageUrl, "ImageUrl is NULL"); assert.SkipProperty(m => m.ImageDescription, "ImageDescription is NULL"); } // theme url if (!string.IsNullOrEmpty(typedDefinition.ThemeUrl)) { var urlValue = item.GetComposedLookThemeUrl(); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.ThemeUrl); var isValid = (urlValue != null) && (urlValue.Url == s.ThemeUrl); return(new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }); }); assert.ShouldBeEqual((p, s, d) => { var srcProp = s.GetExpressionValue(m => m.ThemeDescription); var isValid = (urlValue != null) && (urlValue.Description == s.ThemeDescription); return(new PropertyValidationResult { Tag = p.Tag, Src = srcProp, Dst = null, IsValid = isValid }); }); } else { assert.SkipProperty(m => m.ThemeUrl, "ThemeUrl is NULL"); assert.SkipProperty(m => m.ThemeDescription, "ThemeDescription is NULL"); } }