예제 #1
0
            public void CloneResultsInClonedDocument()
            {
                // Given
                MetadataDictionary initialMetadata = new MetadataDictionary();
                initialMetadata.Add("Foo", "Bar");
                DocumentFactory documentFactory = new DocumentFactory(initialMetadata);
                CustomDocumentFactory<TestDocument> customDocumentFactory = new CustomDocumentFactory<TestDocument>(documentFactory);
                IExecutionContext context = Substitute.For<IExecutionContext>();
                CustomDocument sourceDocument = (CustomDocument)customDocumentFactory.GetDocument(context);

                // When
                IDocument resultDocument = customDocumentFactory.GetDocument(context, sourceDocument, new Dictionary<string, object>
                {
                    { "Baz", "Bat" }
                });

                // Then
                CollectionAssert.AreEquivalent(new Dictionary<string, object>
                {
                    { "Foo", "Bar" }
                }, sourceDocument);
                CollectionAssert.AreEquivalent(new Dictionary<string, object>
                {
                    { "Foo", "Bar" },
                    { "Baz", "Bat" }
                }, resultDocument);
            }
예제 #2
0
            public void ThrowsWhenCloneReturnsNullDocument()
            {
                // Given
                MetadataDictionary initialMetadata = new MetadataDictionary();
                DocumentFactory    documentFactory = new DocumentFactory(initialMetadata);
                CustomDocumentFactory <TestDocument> customDocumentFactory = new CustomDocumentFactory <TestDocument>(documentFactory);
                TestExecutionContext     context  = new TestExecutionContext();
                CloneReturnsNullDocument document = new CloneReturnsNullDocument();

                // When, Then
                Assert.Throws <Exception>(() => customDocumentFactory.GetDocument(context, document, new Dictionary <string, object>()));
            }
예제 #3
0
            public void ThrowsWhenCloneReturnsSameDocument()
            {
                // Given
                MetadataDictionary initialMetadata = new MetadataDictionary();
                DocumentFactory documentFactory = new DocumentFactory(initialMetadata);
                CustomDocumentFactory<TestDocument> customDocumentFactory = new CustomDocumentFactory<TestDocument>(documentFactory);
                IExecutionContext context = Substitute.For<IExecutionContext>();
                CloneReturnsSameDocument document = new CloneReturnsSameDocument();

                // When, Then
                Assert.Throws<Exception>(() => customDocumentFactory.GetDocument(context, document, new Dictionary<string, object>()));
            }
예제 #4
0
            public void ThrowsWhenCloneReturnsSameDocument()
            {
                // Given
                SimpleMetadata  initialMetadata = new SimpleMetadata();
                DocumentFactory documentFactory = new DocumentFactory(initialMetadata);
                CustomDocumentFactory <TestDocument> customDocumentFactory = new CustomDocumentFactory <TestDocument>(documentFactory);
                IExecutionContext        context  = Substitute.For <IExecutionContext>();
                CloneReturnsSameDocument document = new CloneReturnsSameDocument();

                // When, Then
                Assert.Throws <Exception>(() => customDocumentFactory.GetDocument(context, document, new Dictionary <string, object>()));
            }
예제 #5
0
            public void GetsInitialDocumentWithInitialMetadata()
            {
                // Given
                MetadataDictionary initialMetadata = new MetadataDictionary();
                initialMetadata.Add("Foo", "Bar");
                DocumentFactory documentFactory = new DocumentFactory(initialMetadata);
                CustomDocumentFactory<TestDocument> customDocumentFactory = new CustomDocumentFactory<TestDocument>(documentFactory);
                IExecutionContext context = Substitute.For<IExecutionContext>();

                // When
                IDocument resultDocument = customDocumentFactory.GetDocument(context);

                // Then
                Assert.IsInstanceOf<TestDocument>(resultDocument);
                CollectionAssert.AreEqual(new Dictionary<string, object>
                {
                    { "Foo", "Bar" }
                }, resultDocument);
            }
예제 #6
0
            public void GetsInitialDocumentWithInitialMetadata()
            {
                // Given
                SimpleMetadata initialMetadata = new SimpleMetadata();

                initialMetadata.Add("Foo", "Bar");
                DocumentFactory documentFactory = new DocumentFactory(initialMetadata);
                CustomDocumentFactory <TestDocument> customDocumentFactory = new CustomDocumentFactory <TestDocument>(documentFactory);
                IExecutionContext context = Substitute.For <IExecutionContext>();

                // When
                IDocument resultDocument = customDocumentFactory.GetDocument(context);

                // Then
                Assert.IsInstanceOf <TestDocument>(resultDocument);
                CollectionAssert.AreEqual(new Dictionary <string, object>
                {
                    { "Foo", "Bar" }
                }, resultDocument);
            }