예제 #1
0
        public void SyntaxTypeReference_GetHashCode()
        {
            // arrange
            SyntaxTypeReference x = TypeReference.Create(
                "Foo",
                TypeContext.None,
                scope: "foo");

            SyntaxTypeReference y = TypeReference.Create(
                "Foo",
                TypeContext.None,
                scope: "foo");

            SyntaxTypeReference z = TypeReference.Create(
                "Foo",
                TypeContext.Input);

            // act
            var xh = x.GetHashCode();
            var yh = y.GetHashCode();
            var zh = z.GetHashCode();

            // assert
            Assert.Equal(xh, yh);
            Assert.NotEqual(xh, zh);
        }
예제 #2
0
        public void SyntaxTypeReference_GetHashCode_NotEquals(
            string typeName,
            TypeContext context,
            bool?isTypeNullable,
            bool?isElementTypeNullable)
        {
            // arrange
            var x = new SyntaxTypeReference(
                new NamedTypeNode("abc"),
                TypeContext.Input,
                true,
                false);

            var y = new SyntaxTypeReference(
                new NamedTypeNode(typeName),
                context,
                isTypeNullable,
                isElementTypeNullable);

            // act
            int xhash = x.GetHashCode();
            int yhash = y.GetHashCode();

            // assert
            Assert.NotEqual(xhash, yhash);
        }