public void Add_IfAddingASecondItemWithTheSameNameAndType_ShouldOverwriteTheExistingItem() { const string name = "Test"; Type type = typeof(HtmlTransformer); HtmlTransformerElement firstHtmlTransformerElement = new HtmlTransformerElement { Name = name, Type = type }; HtmlTransformerElement secondHtmlTransformerElement = new HtmlTransformerElement { Name = name, Type = type }; HtmlTransformerElementCollection htmlTransformerElementCollection = new HtmlTransformerElementCollection { firstHtmlTransformerElement, secondHtmlTransformerElement }; Assert.AreEqual(1, htmlTransformerElementCollection.Count); Assert.IsTrue(ReferenceEquals(secondHtmlTransformerElement, htmlTransformerElementCollection[0])); }
public void Equals_ShouldBeNameCaseSensitive() { Type type = typeof(HtmlTransformer); HtmlTransformerElement firstHtmlTransformerElement = new HtmlTransformerElement { Name = "Test", Type = type }; HtmlTransformerElement secondHtmlTransformerElement = new HtmlTransformerElement { Name = "test", Type = type }; Assert.AreNotEqual(firstHtmlTransformerElement, secondHtmlTransformerElement); Assert.IsFalse(firstHtmlTransformerElement.Equals(secondHtmlTransformerElement)); }
public void Equals_IfTheNamesAndTypesAreEqual_ShouldReturnTrue() { const string name = "Test"; Type type = typeof(HtmlTransformer); HtmlTransformerElement firstHtmlTransformerElement = new HtmlTransformerElement { Name = name, Type = type }; HtmlTransformerElement secondHtmlTransformerElement = new HtmlTransformerElement { Name = name, Type = type }; Assert.AreEqual(firstHtmlTransformerElement, secondHtmlTransformerElement); Assert.IsTrue(firstHtmlTransformerElement.Equals(secondHtmlTransformerElement)); }
public void Type_Set_ShouldSetTheType() { Type type = Mock.Of<IHtmlTransformer>().GetType(); HtmlTransformerElement htmlTransformerElement = new HtmlTransformerElement { Type = type }; Assert.AreEqual(type, htmlTransformerElement.Type); }
public void Type_Set_IfNotTypeOfIHtmlTransformerIsAssignableFromTheValueParameter_ShouldThrowAConfigurationErrorsException() { Type type = typeof(object); HtmlTransformerElement htmlTransformerElement = new HtmlTransformerElement { Type = type }; Assert.AreEqual(type, htmlTransformerElement.Type); }
public void Name_Set_ShouldSetTheName() { const string name = "Test"; HtmlTransformerElement htmlTransformerElement = new HtmlTransformerElement { Name = name }; Assert.AreEqual(name, htmlTransformerElement.Name); }
public void Name_Set_IfTheValueParameterIsNull_ShouldThrowAConfigurationErrorsException() { HtmlTransformerElement htmlTransformerElement = new HtmlTransformerElement(); try { htmlTransformerElement.Name = null; } catch(ConfigurationErrorsException configurationErrorsException) { if(configurationErrorsException.Message != "The value can not be null.") return; ArgumentNullException innerException = configurationErrorsException.InnerException as ArgumentNullException; if(innerException != null && innerException.ParamName == "value") throw; } }
public void Name_Set_IfTheValueParameterIsAnInvalidCharacter_ShouldThrowAConfigurationErrorsException() { HtmlTransformerElement htmlTransformerElement = new HtmlTransformerElement(); int configurationErrorsExceptionThrown = 0; for(int i = 0; i < htmlTransformerElement.InvalidNameCharacters.Length; i++) { // ReSharper disable EmptyGeneralCatchClause try { htmlTransformerElement.Name = htmlTransformerElement.InvalidNameCharacters[i].ToString(CultureInfo.InvariantCulture); } catch(ConfigurationErrorsException) { configurationErrorsExceptionThrown++; } // ReSharper restore EmptyGeneralCatchClause } if(configurationErrorsExceptionThrown == htmlTransformerElement.InvalidNameCharacters.Length) throw new ConfigurationErrorsException(); }