public void CanEquateSameSigs() { var intTid = new TypeId(1); var longTid = new TypeId(2); var stringTid = new TypeId(3); var sig1 = new FunctionSignature("foo", stringTid, new[] { intTid, longTid }); var int2Tid = new TypeId(1); var long2Tid = new TypeId(2); var string2Tid = new TypeId(3); var sig2 = new FunctionSignature("foo", string2Tid, new[] { int2Tid, long2Tid }); var sig3 = new FunctionSignature("bar", string2Tid, new[] { int2Tid, long2Tid }); var sig4 = new FunctionSignature("foo", intTid, new[] { int2Tid, long2Tid }); Assert.That(sig1.Equals(sig2)); Assert.That(sig2.Equals(sig1)); Assert.That(!sig1.Equals(sig3)); Assert.That(!sig1.Equals(sig4)); }