public async Task SchemaTypeReference_WithScope_Nothing()
        {
            // arrange
            StringType stringType = await CreateTypeAsync <StringType>();

            SchemaTypeReference typeReference1 = TypeReference.Create(
                stringType,
                scope: "foo");

            // act
            SchemaTypeReference typeReference2 = typeReference1.WithScope();

            // assert
            Assert.Equal(typeReference1.Type, typeReference2.Type);
            Assert.Equal(typeReference1.Context, typeReference2.Context);
            Assert.Null(typeReference2.Scope);
        }
        public async Task SchemaTypeReference_WithScope()
        {
            // arrange
            StringType stringType = await CreateTypeAsync <StringType>();

            SchemaTypeReference typeReference1 = TypeReference.Create(
                stringType,
                scope: "foo",
                nullable: new[] { true });

            // act
            SchemaTypeReference typeReference2 = typeReference1.WithScope("bar");

            // assert
            Assert.Equal(typeReference1.Type, typeReference2.Type);
            Assert.Equal(typeReference1.Context, typeReference2.Context);
            Assert.Equal("bar", typeReference2.Scope);
            Assert.Equal(typeReference1.Nullable, typeReference2.Nullable);
        }