public void EqualsReturnsCorrectResult( bool typeResult, bool nameResult, bool expected) { var field = typeof(string).GetField("Empty"); var typeCriterion = new DelegatingCriterion<Type> { OnEquals = t => { Assert.Equal(field.FieldType, t); return typeResult; } }; var nameCriterion = new DelegatingCriterion<string> { OnEquals = n => { Assert.Equal(field.Name, n); return nameResult; } }; var sut = new FieldTypeAndNameCriterion( typeCriterion, nameCriterion); var actual = sut.Equals(field); Assert.Equal(expected, actual); }
public void EqualsReturnsCorrectResult( bool typeResult, bool nameResult, bool expected) { var parameter = typeof(string).GetMethod("Contains").GetParameters().First(); var typeCriterion = new DelegatingCriterion<Type> { OnEquals = t => { Assert.Equal(parameter.ParameterType, t); return typeResult; } }; var nameCriterion = new DelegatingCriterion<string> { OnEquals = n => { Assert.Equal(parameter.Name, n); return nameResult; } }; var sut = new ParameterTypeAndNameCriterion( typeCriterion, nameCriterion); var actual = sut.Equals(parameter); Assert.Equal(expected, actual); }
public void EqualsReturnsCorrectResult( bool typeResult, bool nameResult, bool expected) { var prop = typeof(string).GetProperty("Length"); var typeCriterion = new DelegatingCriterion<Type> { OnEquals = t => { Assert.Equal(prop.PropertyType, t); return typeResult; } }; var nameCriterion = new DelegatingCriterion<string> { OnEquals = n => { Assert.Equal(prop.Name, n); return nameResult; } }; var sut = new PropertyTypeAndNameCriterion( typeCriterion, nameCriterion); var actual = sut.Equals(prop); Assert.Equal(expected, actual); }
public void IsSatisfiedByReturnsCorrectResultAccordingToTarget( bool expected) { var field = typeof(string).GetField("Empty"); var target = new DelegatingCriterion<FieldInfo> { OnEquals = f => { Assert.Equal(field, f); return expected; } }; var sut = new FieldSpecification(target); var actual = sut.IsSatisfiedBy(field); Assert.Equal(expected, actual); }
public void SutEqualsIdenticalValue() { var typeCriterion = new DelegatingCriterion<Type>(); var nameCriterion = new DelegatingCriterion<string>(); var sut = new FieldTypeAndNameCriterion(typeCriterion, nameCriterion); var other = new FieldTypeAndNameCriterion(typeCriterion, nameCriterion); var actual = sut.Equals(other); Assert.True(actual, "Expected structural equality to hold."); }
public void NameCriterionIsCorrect() { var expected = new DelegatingCriterion<string>(); var sut = new FieldTypeAndNameCriterion( new DelegatingCriterion<Type>(), expected); IEquatable<string> actual = sut.NameCriterion; Assert.Equal(expected, actual); }
public void SutDoesNotEqualOtherWhenNameCriterionDiffers() { var typeCriterion = new DelegatingCriterion<Type>(); var sut = new FieldTypeAndNameCriterion( typeCriterion, new DelegatingCriterion<string>()); var other = new FieldTypeAndNameCriterion( typeCriterion, new DelegatingCriterion<string>()); var actual = sut.Equals(other); Assert.False( actual, "SUT should not equal other when name criterion differs."); }
public void IsSatisfiedByReturnsCorrectResultAccordingToTarget( bool expected) { var prop = typeof(string).GetProperty("Length"); var target = new DelegatingCriterion<PropertyInfo> { OnEquals = p => { Assert.Equal(prop, p); return expected; } }; var sut = new PropertySpecification(target); var actual = sut.IsSatisfiedBy(prop); Assert.Equal(expected, actual); }
public void TypeCriterionIsCorrect() { var expected = new DelegatingCriterion<Type>(); var sut = new ParameterTypeAndNameCriterion( expected, new DelegatingCriterion<string>()); IEquatable<Type> actual = sut.TypeCriterion; Assert.Equal(expected, actual); }
public void IsSatisfiedByReturnsCorrectResultAccordingToTarget( bool expected) { var parameter = typeof(string).GetMethod("Contains").GetParameters().First(); var target = new DelegatingCriterion<ParameterInfo> { OnEquals = f => { Assert.Equal(parameter, f); return expected; } }; var sut = new ParameterSpecification(target); var actual = sut.IsSatisfiedBy(parameter); Assert.Equal(expected, actual); }