public void EqualsAndGetHashCode() { var method0 = typeof(Proxied).GetPublicInstanceMethods("OverrideMe", typeof(string)).Last(); var method1 = typeof(ProxiedChild).GetPublicInstanceMethods("OverrideMe", typeof(string)).Last(); var method2 = typeof(ProxiedChild).GetPublicInstanceMethods("PrependName", typeof(string)).Last(); Assert.That(method0.MetadataToken, Is.Not.EqualTo(method1.MetadataToken)); Assert.That(method0.MetadataToken, Is.Not.EqualTo(method2.MetadataToken)); var stableMetadateToken0 = new StableMethodMetadataToken(method0); var stableMetadateToken1 = new StableMethodMetadataToken(method1); var stableMetadateToken2 = new StableMethodMetadataToken(method2); Assert.That(stableMetadateToken0, Is.EqualTo(stableMetadateToken0)); Assert.That(stableMetadateToken0, Is.EqualTo(stableMetadateToken1)); Assert.That(stableMetadateToken1, Is.EqualTo(stableMetadateToken1)); Assert.That(stableMetadateToken2, Is.EqualTo(stableMetadateToken2)); Assert.That(stableMetadateToken0, Is.Not.EqualTo(stableMetadateToken2)); Assert.That(stableMetadateToken1, Is.Not.EqualTo(stableMetadateToken2)); Assert.That(stableMetadateToken0.GetHashCode(), Is.EqualTo(stableMetadateToken0.GetHashCode())); Assert.That(stableMetadateToken0.GetHashCode(), Is.EqualTo(stableMetadateToken1.GetHashCode())); Assert.That(stableMetadateToken1.GetHashCode(), Is.EqualTo(stableMetadateToken1.GetHashCode())); Assert.That(stableMetadateToken2.GetHashCode(), Is.EqualTo(stableMetadateToken2.GetHashCode())); Assert.That(stableMetadateToken0.GetHashCode(), Is.Not.EqualTo(stableMetadateToken2.GetHashCode())); Assert.That(stableMetadateToken1.GetHashCode(), Is.Not.EqualTo(stableMetadateToken2.GetHashCode())); }
public void Equals_Null() { var method0 = typeof(Proxied).GetPublicInstanceMethods("OverrideMe", typeof(string)).Last(); var stableMetadateToken0 = new StableMethodMetadataToken(method0); Assert.That(stableMetadateToken0.Equals(null), Is.False); }
private MethodInfo GetCorrespondingMethod(Dictionary <StableMethodMetadataToken, MethodInfo> dictionary, MethodInfo method) { var stableMetadataToken = new StableMethodMetadataToken(method); MethodInfo correspondingMethod; dictionary.TryGetValue(stableMetadataToken, out correspondingMethod); return(correspondingMethod); }
public void GetMethod() { var type = typeof(Proxied); var method0 = type.GetPublicInstanceMethods("OverrideMe", typeof(string)).Last(); var method1 = type.GetPublicInstanceMethods("PrependName", typeof(string)).Last(); var stableMetadateToken0 = new StableMethodMetadataToken(method0); var stableMetadateToken1 = new StableMethodMetadataToken(method1); var map = new StableMetadataTokenToMethodInfoMap(type); Assert.That(map.GetMethod(stableMetadateToken0), Is.EqualTo(method0)); Assert.That(map.GetMethod(stableMetadateToken1), Is.EqualTo(method1)); }