public void CanBuildRehydratedOptionSettingsItem() { // ARRANGE var expectedValidator = new RequiredValidator { ValidationFailedMessage = "Custom Test Message" }; var optionSettingItem = new OptionSettingItem("id", "name", "description") { Name = "Test Item", Validators = new List <OptionSettingItemValidatorConfig> { new OptionSettingItemValidatorConfig { ValidatorType = OptionSettingItemValidatorList.Required, Configuration = expectedValidator } } }; var json = JsonConvert.SerializeObject(optionSettingItem, Formatting.Indented); var deserialized = JsonConvert.DeserializeObject <OptionSettingItem>(json); // ACT var validators = deserialized.BuildValidators(); // ASSERT validators.Length.ShouldEqual(1); validators.First().ShouldBeType(expectedValidator.GetType()); validators.OfType <RequiredValidator>().First().ValidationFailedMessage.ShouldEqual(expectedValidator.ValidationFailedMessage); }