コード例 #1
0
        public void IgnoreType_2()
        {
            // arrange
            IDocumentRewriter docRewriter = null;
            var mock = new Mock <IStitchingBuilder>();

            mock.Setup(t => t.AddDocumentRewriter(
                           It.IsAny <IDocumentRewriter>()))
            .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t =>
            {
                docRewriter = t;
                return(mock.Object);
            }));
            NameString schemaName = "Foo";
            NameString typeName   = "Bar";

            // act
            StitchingBuilderExtensions.IgnoreType(
                mock.Object, schemaName, typeName);

            // assert
            RemoveTypeRewriter rewriter =
                Assert.IsType <RemoveTypeRewriter>(docRewriter);

            Assert.Equal(schemaName, rewriter.SchemaName);
            Assert.Equal(typeName, rewriter.TypeName);
        }
コード例 #2
0
        public void IgnoreField()
        {
            // arrange
            ITypeRewriter typeRewriter = null;
            var           mock         = new Mock <IStitchingBuilder>();

            mock.Setup(t => t.AddTypeRewriter(
                           It.IsAny <ITypeRewriter>()))
            .Returns(new Func <ITypeRewriter, IStitchingBuilder>(t =>
            {
                typeRewriter = t;
                return(mock.Object);
            }));
            NameString schemaName     = "Foo";
            var        fieldReference = new FieldReference("A", "a");

            // act
            StitchingBuilderExtensions.IgnoreField(
                mock.Object, schemaName, fieldReference);

            // assert
            RemoveFieldRewriter rewriter =
                Assert.IsType <RemoveFieldRewriter>(typeRewriter);

            Assert.Equal(schemaName, rewriter.SchemaName);
            Assert.Equal(fieldReference.TypeName, rewriter.Field.TypeName);
            Assert.Equal(fieldReference.FieldName, rewriter.Field.FieldName);
        }
コード例 #3
0
        public void IgnoreRootTypes_BuilderIsNull_ArgumentNullException()
        {
            // arrange
            // act
            Action action = () => StitchingBuilderExtensions
                            .IgnoreRootTypes(null);

            // assert
            Assert.Equal("builder",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #4
0
        public void AddDocumentRewriter_BuilderIsNull_ArgumentNullException()
        {
            // arrange
            // act
            Action action = () => StitchingBuilderExtensions
                            .AddDocumentRewriter(null, (schema, doc) => doc);

            // assert
            Assert.Equal("builder",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #5
0
        public void AddExtensionsFromFile_BuilderIsNull_ArgNullException()
        {
            // arrange
            // act
            Action action = () =>
                            StitchingBuilderExtensions
                            .AddExtensionsFromFile(null, "foo");

            // assert
            Assert.Equal("builder",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #6
0
        public void IgnoreType_BuilderIsNull_ArgumentNullException()
        {
            // arrange
            NameString typeName = "Foo";

            // act
            Action action = () => StitchingBuilderExtensions
                            .IgnoreType(null, typeName);

            // assert
            Assert.Equal("builder",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #7
0
        public void IgnoreType_NameIsEmpty_ArgumentException()
        {
            // arrange
            var mock = new Mock <IStitchingBuilder>();

            // act
            Action action = () => StitchingBuilderExtensions
                            .IgnoreType(mock.Object, null);

            // assert
            Assert.Equal("typeName",
                         Assert.Throws <ArgumentException>(action).ParamName);
        }
コード例 #8
0
        public void AddSchemaFromString_NameIsEmpty_ArgumentNullException()
        {
            // arrange
            var builder = new MockStitchingBuilder();

            // act
            Action action = () =>
                            StitchingBuilderExtensions
                            .AddSchemaFromString(builder, new NameString(), "bar");

            // assert
            Assert.Equal("name",
                         Assert.Throws <ArgumentException>(action).ParamName);
        }
コード例 #9
0
        public void IgnoreField_FieldIsNull_ArgumentNullException()
        {
            // arrange
            var        mock       = new Mock <IStitchingBuilder>();
            NameString schemaName = "Foo";

            // act
            Action action = () => StitchingBuilderExtensions
                            .IgnoreField(mock.Object, schemaName, null);

            // assert
            Assert.Equal("field",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #10
0
        public void AddSchema_2_BuilderIsNull_ArgumentNullException()
        {
            // arrange
            ISchema customerSchema = CustomerSchemaFactory.Create();

            // act
            Action action = () =>
                            StitchingBuilderExtensions
                            .AddSchema(null, "foo", customerSchema);

            // assert
            Assert.Equal("builder",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #11
0
        public void IgnoreField_BuilderIsNull_ArgumentNullException()
        {
            // arrange
            NameString schemaName     = "Foo";
            var        fieldReference = new FieldReference("A", "a");

            // act
            Action action = () => StitchingBuilderExtensions
                            .IgnoreField(null, schemaName, fieldReference);

            // assert
            Assert.Equal("builder",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #12
0
        public void IgnoreField_SchemaIsEmpty_ArgumentNullException()
        {
            // arrange
            var mock           = new Mock <IStitchingBuilder>();
            var fieldReference = new FieldReference("A", "a");

            // act
            Action action = () => StitchingBuilderExtensions
                            .IgnoreField(mock.Object, null, fieldReference);

            // assert
            Assert.Equal("schemaName",
                         Assert.Throws <ArgumentException>(action).ParamName);
        }
コード例 #13
0
        public void AddExtensionsFromString_SchemaIsNull_ArgumentNullException(
            string schema)
        {
            // arrange
            var builder = new MockStitchingBuilder();

            // act
            Action action = () =>
                            StitchingBuilderExtensions
                            .AddExtensionsFromString(builder, schema);

            // assert
            Assert.Equal("extensions",
                         Assert.Throws <ArgumentException>(action).ParamName);
        }
コード例 #14
0
        public void AddSchema_2_SchemaNameIsEmpty_ArgumentNullException()
        {
            // arrange
            ISchema customerSchema = CustomerSchemaFactory.Create();
            var     builder        = new MockStitchingBuilder();

            // act
            Action action = () =>
                            StitchingBuilderExtensions
                            .AddSchema(builder, new NameString(), customerSchema);

            // assert
            Assert.Equal("name",
                         Assert.Throws <ArgumentException>(action).ParamName);
        }
コード例 #15
0
        public void AddSchema_2_SchemaIsNull_ArgumentNullException()
        {
            // arrange
            ISchema customerSchema = CustomerSchemaFactory.Create();
            var     builder        = new MockStitchingBuilder();

            // act
            Action action = () =>
                            StitchingBuilderExtensions
                            .AddSchema(builder, "foo", null);

            // assert
            Assert.Equal("schema",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #16
0
        public void AddExtensionsFromFile_SchemaIsNull_ArgumentNullException(
            string filePath)
        {
            // arrange
            var builder = new MockStitchingBuilder();

            // act
            Action action = () =>
                            StitchingBuilderExtensions
                            .AddExtensionsFromFile(builder, filePath);

            // assert
            Assert.Equal("path",
                         Assert.Throws <ArgumentException>(action).ParamName);
        }
コード例 #17
0
        public void AddTypeRewriter()
        {
            // arrange
            ITypeRewriter typeRewriter = null;
            var           mock         = new Mock <IStitchingBuilder>();

            mock.Setup(t => t.AddTypeRewriter(It.IsAny <ITypeRewriter>()))
            .Returns(new Func <ITypeRewriter, IStitchingBuilder>(t =>
            {
                typeRewriter = t;
                return(mock.Object);
            }));

            // act
            StitchingBuilderExtensions
            .AddTypeRewriter(mock.Object, (schema, type) => type);

            // assert
            Assert.IsType <DelegateTypeRewriter>(typeRewriter);
        }
コード例 #18
0
        public void AddDocumentRewriter()
        {
            // arrange
            IDocumentRewriter docRewriter = null;
            var mock = new Mock <IStitchingBuilder>();

            mock.Setup(t => t.AddDocumentRewriter(
                           It.IsAny <IDocumentRewriter>()))
            .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t =>
            {
                docRewriter = t;
                return(mock.Object);
            }));

            // act
            StitchingBuilderExtensions
            .AddDocumentRewriter(mock.Object, (schema, doc) => doc);

            // assert
            Assert.IsType <DelegateDocumentRewriter>(docRewriter);
        }
コード例 #19
0
        public void IgnoreRootTypes_2_NameIsEmpty_ArgumentException()
        {
            // arrange
            IDocumentRewriter docRewriter = null;
            var mock = new Mock <IStitchingBuilder>();

            mock.Setup(t => t.AddDocumentRewriter(
                           It.IsAny <IDocumentRewriter>()))
            .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t =>
            {
                docRewriter = t;
                return(mock.Object);
            }));

            // act
            Action action = () => StitchingBuilderExtensions
                            .IgnoreRootTypes(mock.Object, null);

            // assert
            Assert.Equal("schemaName",
                         Assert.Throws <ArgumentException>(action).ParamName);
        }
コード例 #20
0
        public void AddTypeRewriter_DelegateIsNull_ArgumentNullException()
        {
            // arrange
            ITypeRewriter typeRewriter = null;
            var           mock         = new Mock <IStitchingBuilder>();

            mock.Setup(t => t.AddTypeRewriter(It.IsAny <ITypeRewriter>()))
            .Returns(new Func <ITypeRewriter, IStitchingBuilder>(t =>
            {
                typeRewriter = t;
                return(mock.Object);
            }));

            // act
            Action action = () => StitchingBuilderExtensions
                            .AddTypeRewriter(mock.Object,
                                             (RewriteTypeDefinitionDelegate)null);

            // assert
            Assert.Equal("rewrite",
                         Assert.Throws <ArgumentNullException>(action).ParamName);
        }
コード例 #21
0
        public void IgnoreRootTypes()
        {
            // arrange
            IDocumentRewriter docRewriter = null;
            var mock = new Mock <IStitchingBuilder>();

            mock.Setup(t => t.AddDocumentRewriter(
                           It.IsAny <IDocumentRewriter>()))
            .Returns(new Func <IDocumentRewriter, IStitchingBuilder>(t =>
            {
                docRewriter = t;
                return(mock.Object);
            }));

            // act
            StitchingBuilderExtensions.IgnoreRootTypes(mock.Object);

            // assert
            RemoveRootTypeRewriter rewriter =
                Assert.IsType <RemoveRootTypeRewriter>(docRewriter);

            Assert.Null(rewriter.SchemaName);
        }