コード例 #1
0
        public void Merge_AddsNamespacesThatHaveNotBeenVisitedInChunkTree()
        {
            // Arrange
            var expected        = "MyApp.Models";
            var merger          = new UsingChunkMerger();
            var chunkTree       = new ChunkTree();
            var inheritedChunks = new Chunk[]
            {
                new UsingChunk {
                    Namespace = expected
                },
            };

            // Act
            merger.VisitChunk(new UsingChunk {
                Namespace = "Microsoft.AspNet.Mvc"
            });
            merger.MergeInheritedChunks(chunkTree, inheritedChunks);

            // Assert
            var chunk      = Assert.Single(chunkTree.Chunks);
            var usingChunk = Assert.IsType <UsingChunk>(chunk);

            Assert.Equal(expected, usingChunk.Namespace);
        }
コード例 #2
0
        public void Merge_MatchesNamespacesInCaseSensitiveManner()
        {
            // Arrange
            var merger          = new UsingChunkMerger();
            var chunkTree       = new ChunkTree();
            var inheritedChunks = new[]
            {
                new UsingChunk {
                    Namespace = "Microsoft.AspNet.Mvc"
                },
                new UsingChunk {
                    Namespace = "Microsoft.AspNet.mvc"
                }
            };

            // Act
            merger.MergeInheritedChunks(chunkTree, inheritedChunks);

            // Assert
            Assert.Equal(2, chunkTree.Chunks.Count);
            var chunk = Assert.IsType <UsingChunk>(chunkTree.Chunks[0]);

            Assert.Equal("Microsoft.AspNet.Mvc", chunk.Namespace);
            chunk = Assert.IsType <UsingChunk>(chunkTree.Chunks[1]);
            Assert.Equal("Microsoft.AspNet.mvc", chunk.Namespace);
        }
コード例 #3
0
ファイル: UsingChunkMergerTest.cs プロジェクト: wahabshah/Mvc
        public void Merge_IgnoresNamespacesThatHaveBeenVisitedDuringMerge()
        {
            // Arrange
            var merger   = new UsingChunkMerger();
            var codeTree = new CodeTree();

            // Act
            merger.Merge(codeTree, new UsingChunk {
                Namespace = "Microsoft.AspNet.Mvc"
            });
            merger.Merge(codeTree, new UsingChunk {
                Namespace = "Microsoft.AspNet.Mvc"
            });
            merger.Merge(codeTree, new UsingChunk {
                Namespace = "Microsoft.AspNet.Mvc.Razor"
            });

            // Assert
            Assert.Equal(2, codeTree.Chunks.Count);
            var chunk = Assert.IsType <UsingChunk>(codeTree.Chunks[0]);

            Assert.Equal("Microsoft.AspNet.Mvc", chunk.Namespace);
            chunk = Assert.IsType <UsingChunk>(codeTree.Chunks[1]);
            Assert.Equal("Microsoft.AspNet.Mvc.Razor", chunk.Namespace);
        }
コード例 #4
0
        public void Merge_DoesNotAddMoreThanOneInstanceOfTheSameInheritedNamespace()
        {
            // Arrange
            var merger          = new UsingChunkMerger();
            var chunkTree       = new ChunkTree();
            var inheritedChunks = new Chunk[]
            {
                new LiteralChunk(),
                new UsingChunk {
                    Namespace = "Microsoft.AspNet.Mvc"
                },
                new UsingChunk {
                    Namespace = "Microsoft.AspNet.Mvc"
                },
                new UsingChunk {
                    Namespace = "Microsoft.AspNet.Mvc.Razor"
                }
            };

            // Act
            merger.MergeInheritedChunks(chunkTree, inheritedChunks);

            // Assert
            Assert.Equal(2, chunkTree.Chunks.Count);
            var chunk = Assert.IsType <UsingChunk>(chunkTree.Chunks[0]);

            Assert.Equal("Microsoft.AspNet.Mvc", chunk.Namespace);
            chunk = Assert.IsType <UsingChunk>(chunkTree.Chunks[1]);
            Assert.Equal("Microsoft.AspNet.Mvc.Razor", chunk.Namespace);
        }
コード例 #5
0
        public void Merge_ThrowsIfThePassedInChunkIsNotAUsingChunk()
        {
            // Arrange
            var expected = "Argument must be an instance of 'Microsoft.AspNet.Razor.Generator.Compiler.UsingChunk'.";
            var merger = new UsingChunkMerger();

            // Act and Assert
            ExceptionAssert.ThrowsArgument(() => merger.Merge(new CodeTree(), new LiteralChunk()), "chunk", expected);
        }
コード例 #6
0
ファイル: UsingChunkMergerTest.cs プロジェクト: wahabshah/Mvc
        public void Merge_ThrowsIfThePassedInChunkIsNotAUsingChunk()
        {
            // Arrange
            var expected = "Argument must be an instance of 'Microsoft.AspNet.Razor.Generator.Compiler.UsingChunk'.";
            var merger   = new UsingChunkMerger();

            // Act and Assert
            ExceptionAssert.ThrowsArgument(() => merger.Merge(new CodeTree(), new LiteralChunk()), "chunk", expected);
        }
コード例 #7
0
        public void Visit_ThrowsIfThePassedInChunkIsNotAUsingChunk()
        {
            // Arrange
            var expected = "Argument must be an instance of 'Microsoft.AspNet.Razor.Chunks.UsingChunk'.";
            var merger = new UsingChunkMerger();

            // Act and Assert
            ExceptionAssert.ThrowsArgument(() => merger.VisitChunk(new LiteralChunk()), "chunk", expected);
        }
コード例 #8
0
        public void Visit_ThrowsIfThePassedInChunkIsNotAUsingChunk()
        {
            // Arrange
            var expected = "Argument must be an instance of 'Microsoft.AspNet.Razor.Chunks.UsingChunk'.";
            var merger   = new UsingChunkMerger();

            // Act and Assert
            ExceptionAssert.ThrowsArgument(() => merger.VisitChunk(new LiteralChunk()), "chunk", expected);
        }
コード例 #9
0
        public void Merge_IgnoresNamespacesThatHaveBeenVisitedInCodeTree()
        {
            // Arrange
            var merger = new UsingChunkMerger();
            var codeTree = new CodeTree();

            // Act
            merger.VisitChunk(new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" });
            merger.Merge(codeTree, new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" });

            // Assert
            Assert.Empty(codeTree.Chunks);
        }
コード例 #10
0
        public void Merge_AddsNamespacesThatHaveNotBeenVisitedInCodeTree()
        {
            // Arrange
            var expected = "MyApp.Models";
            var merger = new UsingChunkMerger();
            var codeTree = new CodeTree();

            // Act
            merger.VisitChunk(new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" });
            merger.Merge(codeTree, new UsingChunk { Namespace = expected });

            // Assert
            var chunk = Assert.Single(codeTree.Chunks);
            var usingChunk = Assert.IsType<UsingChunk>(chunk);
            Assert.Equal(expected, usingChunk.Namespace);
        }
コード例 #11
0
ファイル: UsingChunkMergerTest.cs プロジェクト: wahabshah/Mvc
        public void Merge_IgnoresNamespacesThatHaveBeenVisitedInCodeTree()
        {
            // Arrange
            var merger   = new UsingChunkMerger();
            var codeTree = new CodeTree();

            // Act
            merger.VisitChunk(new UsingChunk {
                Namespace = "Microsoft.AspNet.Mvc"
            });
            merger.Merge(codeTree, new UsingChunk {
                Namespace = "Microsoft.AspNet.Mvc"
            });

            // Assert
            Assert.Empty(codeTree.Chunks);
        }
コード例 #12
0
        public void Merge_IgnoresNamespacesThatHaveBeenVisitedInChunkTree()
        {
            // Arrange
            var merger = new UsingChunkMerger();
            var chunkTree = new ChunkTree();
            var inheritedChunks = new Chunk[]
            {
                new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" },
                new InjectChunk("Foo", "Bar")
            };

            // Act
            merger.VisitChunk(new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" });
            merger.MergeInheritedChunks(chunkTree, inheritedChunks);

            // Assert
            Assert.Empty(chunkTree.Children);
        }
コード例 #13
0
        public void Merge_IgnoresNamespacesThatHaveBeenVisitedDuringMerge()
        {
            // Arrange
            var merger = new UsingChunkMerger();
            var codeTree = new CodeTree();

            // Act
            merger.Merge(codeTree, new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" });
            merger.Merge(codeTree, new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" });
            merger.Merge(codeTree, new UsingChunk { Namespace = "Microsoft.AspNet.Mvc.Razor" });

            // Assert
            Assert.Equal(2, codeTree.Chunks.Count);
            var chunk = Assert.IsType<UsingChunk>(codeTree.Chunks[0]);
            Assert.Equal("Microsoft.AspNet.Mvc", chunk.Namespace);
            chunk = Assert.IsType<UsingChunk>(codeTree.Chunks[1]);
            Assert.Equal("Microsoft.AspNet.Mvc.Razor", chunk.Namespace);
        }
コード例 #14
0
        public void Merge_MatchesNamespacesInCaseSensitiveManner()
        {
            // Arrange
            var merger = new UsingChunkMerger();
            var chunkTree = new ChunkTree();
            var inheritedChunks = new[]
            {
                new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" },
                new UsingChunk { Namespace = "Microsoft.AspNet.mvc" }
            };

            // Act
            merger.MergeInheritedChunks(chunkTree, inheritedChunks);

            // Assert
            Assert.Equal(2, chunkTree.Children.Count);
            var chunk = Assert.IsType<UsingChunk>(chunkTree.Children[0]);
            Assert.Equal("Microsoft.AspNet.Mvc", chunk.Namespace);
            chunk = Assert.IsType<UsingChunk>(chunkTree.Children[1]);
            Assert.Equal("Microsoft.AspNet.mvc", chunk.Namespace);
        }
コード例 #15
0
        public void Merge_IgnoresNamespacesThatHaveBeenVisitedInChunkTree()
        {
            // Arrange
            var merger          = new UsingChunkMerger();
            var chunkTree       = new ChunkTree();
            var inheritedChunks = new Chunk[]
            {
                new UsingChunk {
                    Namespace = "Microsoft.AspNet.Mvc"
                },
                new InjectChunk("Foo", "Bar")
            };

            // Act
            merger.VisitChunk(new UsingChunk {
                Namespace = "Microsoft.AspNet.Mvc"
            });
            merger.MergeInheritedChunks(chunkTree, inheritedChunks);

            // Assert
            Assert.Empty(chunkTree.Chunks);
        }
コード例 #16
0
ファイル: UsingChunkMergerTest.cs プロジェクト: wahabshah/Mvc
        public void Merge_MacthesNamespacesInCaseSensitiveManner()
        {
            // Arrange
            var merger   = new UsingChunkMerger();
            var codeTree = new CodeTree();

            // Act
            merger.Merge(codeTree, new UsingChunk {
                Namespace = "Microsoft.AspNet.Mvc"
            });
            merger.Merge(codeTree, new UsingChunk {
                Namespace = "Microsoft.AspNet.mvc"
            });

            // Assert
            Assert.Equal(2, codeTree.Chunks.Count);
            var chunk = Assert.IsType <UsingChunk>(codeTree.Chunks[0]);

            Assert.Equal("Microsoft.AspNet.Mvc", chunk.Namespace);
            chunk = Assert.IsType <UsingChunk>(codeTree.Chunks[1]);
            Assert.Equal("Microsoft.AspNet.mvc", chunk.Namespace);
        }
コード例 #17
0
        public void Merge_DoesNotAddMoreThanOneInstanceOfTheSameInheritedNamespace()
        {
            // Arrange
            var merger = new UsingChunkMerger();
            var chunkTree = new ChunkTree();
            var inheritedChunks = new Chunk[]
            {
                new LiteralChunk(),
                new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" },
                new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" },
                new UsingChunk { Namespace = "Microsoft.AspNet.Mvc.Razor" }
            };

            // Act
            merger.MergeInheritedChunks(chunkTree, inheritedChunks);

            // Assert
            Assert.Equal(2, chunkTree.Children.Count);
            var chunk = Assert.IsType<UsingChunk>(chunkTree.Children[0]);
            Assert.Equal("Microsoft.AspNet.Mvc", chunk.Namespace);
            chunk = Assert.IsType<UsingChunk>(chunkTree.Children[1]);
            Assert.Equal("Microsoft.AspNet.Mvc.Razor", chunk.Namespace);
        }
コード例 #18
0
        public void Merge_MacthesNamespacesInCaseSensitiveManner()
        {
            // Arrange
            var merger = new UsingChunkMerger();
            var codeTree = new CodeTree();

            // Act
            merger.Merge(codeTree, new UsingChunk { Namespace = "Microsoft.AspNet.Mvc" });
            merger.Merge(codeTree, new UsingChunk { Namespace = "Microsoft.AspNet.mvc" });

            // Assert
            Assert.Equal(2, codeTree.Chunks.Count);
            var chunk = Assert.IsType<UsingChunk>(codeTree.Chunks[0]);
            Assert.Equal("Microsoft.AspNet.Mvc", chunk.Namespace);
            chunk = Assert.IsType<UsingChunk>(codeTree.Chunks[1]);
            Assert.Equal("Microsoft.AspNet.mvc", chunk.Namespace);
        }