Ejemplo n.º 1
0
        private int InitializeHashCode()
        {
            TypeDesc containingType = ContainingType;
            if (containingType == null)
            {
                string ns = Namespace;
                var hashCodeBuilder = new TypeHashingAlgorithms.HashCodeBuilder(ns);
                if (ns.Length > 0)
                    hashCodeBuilder.Append(".");
                hashCodeBuilder.Append(Name);
                _hashcode = hashCodeBuilder.ToHashCode();
            }
            else
            {
                _hashcode = TypeHashingAlgorithms.ComputeNestedTypeHashCode(
                    containingType.GetHashCode(), TypeHashingAlgorithms.ComputeNameHashCode(Name));
            }

            return _hashcode;
        }
Ejemplo n.º 2
0
        private int InitializeHashCode()
        {
            TypeDesc containingType = ContainingType;

            if (containingType == null)
            {
                string ns = Namespace;
                var    hashCodeBuilder = new TypeHashingAlgorithms.HashCodeBuilder(ns);
                if (ns.Length > 0)
                {
                    hashCodeBuilder.Append(".");
                }
                hashCodeBuilder.Append(Name);
                _hashcode = hashCodeBuilder.ToHashCode();
            }
            else
            {
                _hashcode = TypeHashingAlgorithms.ComputeNestedTypeHashCode(
                    containingType.GetHashCode(), TypeHashingAlgorithms.ComputeNameHashCode(Name));
            }

            return(_hashcode);
        }
Ejemplo n.º 3
0
        public void TestHashCodeBuilder()
        {
            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xyz");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xyz"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append("");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append(".");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy."), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xyz");
                builder.Append(".");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xyz."), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append("..");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy.."), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xyz");
                builder.Append("..");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xyz.."), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append(".");
                builder.Append("Ab");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy.Ab"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append(".");
                builder.Append("Abc");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy.Abc"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xyz");
                builder.Append(".");
                builder.Append("Abc");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xyz.Abc"), builder.ToHashCode());
            }
        }
Ejemplo n.º 4
0
        public void TestHashCodeBuilder()
        {
            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xyz");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xyz"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append("");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append(".");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy."), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xyz");
                builder.Append(".");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xyz."), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append("..");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy.."), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xyz");
                builder.Append("..");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xyz.."), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append(".");
                builder.Append("Ab");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy.Ab"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xy");
                builder.Append(".");
                builder.Append("Abc");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xy.Abc"), builder.ToHashCode());
            }

            {
                var builder = new TypeHashingAlgorithms.HashCodeBuilder("Xyz");
                builder.Append(".");
                builder.Append("Abc");
                Assert.Equal(TypeHashingAlgorithms.ComputeNameHashCode("Xyz.Abc"), builder.ToHashCode());
            }
        }