public void EqualsWorksAsExpected() { // --- Arrange var aspect1 = new Aspect1(); var aspect2 = new Aspect2(); var aspect3 = new Aspect3(); var chain = new AspectChain( new List<IMethodAspect> { aspect1, aspect2, aspect3 }); var otherChain = new AspectChain(new DummyAspect(1), new DummyAspect(2)); // --- Assert chain.Equals(null).ShouldBeFalse(); // ReSharper disable EqualExpressionComparison chain.Equals(chain).ShouldBeTrue(); // ReSharper restore EqualExpressionComparison chain.Equals(new AspectChain( new List<IMethodAspect> { aspect1, aspect2, aspect3 })).ShouldBeTrue(); chain.Equals(new AspectChain( new List<IMethodAspect> { aspect1, aspect2 })).ShouldBeFalse(); // ReSharper disable SuspiciousTypeConversion.Global otherChain.Equals("hey").ShouldBeFalse(); // ReSharper restore SuspiciousTypeConversion.Global // ReSharper disable EqualExpressionComparison otherChain.Equals(otherChain).ShouldBeTrue(); // ReSharper restore EqualExpressionComparison otherChain.Equals(new AspectChain(new DummyAspect(1), new DummyAspect(2))) .ShouldBeTrue(); otherChain.Equals(new AspectChain(new DummyAspect(2), new DummyAspect(3))) .ShouldBeFalse(); }
public void EqualsWorksAsExpected() { // --- Arrange var aspect1 = new Aspect1(); var aspect2 = new Aspect2(); var aspect3 = new Aspect3(); var chain = new AspectChain( new List <IMethodAspect> { aspect1, aspect2, aspect3 }); var otherChain = new AspectChain(new DummyAspect(1), new DummyAspect(2)); // --- Assert chain.Equals(null).ShouldBeFalse(); // ReSharper disable EqualExpressionComparison chain.Equals(chain).ShouldBeTrue(); // ReSharper restore EqualExpressionComparison chain.Equals(new AspectChain( new List <IMethodAspect> { aspect1, aspect2, aspect3 })).ShouldBeTrue(); chain.Equals(new AspectChain( new List <IMethodAspect> { aspect1, aspect2 })).ShouldBeFalse(); // ReSharper disable SuspiciousTypeConversion.Global otherChain.Equals("hey").ShouldBeFalse(); // ReSharper restore SuspiciousTypeConversion.Global // ReSharper disable EqualExpressionComparison otherChain.Equals(otherChain).ShouldBeTrue(); // ReSharper restore EqualExpressionComparison otherChain.Equals(new AspectChain(new DummyAspect(1), new DummyAspect(2))) .ShouldBeTrue(); otherChain.Equals(new AspectChain(new DummyAspect(2), new DummyAspect(3))) .ShouldBeFalse(); }