public void should_not_be_equal_if_pattern_differs() { // --arrange var target1 = new IsMethodParameterWithType(new UnitPattern("1")); var target2 = new IsMethodParameterWithType(new UnitPattern("2")); // --assert target1.Equals(target2).Should().BeFalse(); target2.Equals(target1).Should().BeFalse(); }
public void should_match_only_argument_special_tag([Values(null, "tag")] object?tag) { var parameterInfo = typeof(Subject).GetMethod(nameof(Subject.Foo))?.GetParameters().Single(_ => _.ParameterType == typeof(int)) !; // --arrange var typePattern = A.Fake <IUnitPattern>(); var target = new IsMethodParameterWithType(typePattern); var unitId = new UnitId(parameterInfo, tag); // --act target.Matches(unitId); // --assert A.CallTo(() => typePattern.Matches(An <UnitId> ._)).MustNotHaveHappened(); }
public void should_delegate_call_with_extracted_type() { var parameterInfo = typeof(Subject).GetMethod(nameof(Subject.Foo))?.GetParameters().Single(_ => _.ParameterType == typeof(int)) !; var expected = new UnitId(typeof(int), null); // --arrange var typePattern = A.Fake <IUnitPattern>(); var target = new IsMethodParameterWithType(typePattern); var unitId = new UnitId(parameterInfo, SpecialTag.Argument); // --act target.Matches(unitId); // --assert A.CallTo(() => typePattern.Matches(expected)).MustHaveHappenedOnceAndOnly(); }