コード例 #1
0
ファイル: TestingUsage.cs プロジェクト: mallickhruday/Projac
        public static async Task Assert(this ProjectionTestSpecification <IAsyncDocumentSession> specification)
        {
            if (specification == null)
            {
                throw new ArgumentNullException("specification");
            }
            using (var store = new EmbeddableDocumentStore
            {
                RunInMemory = true,
                DataDirectory = Path.GetTempPath()
            })
            {
                store.Configuration.Storage.Voron.AllowOn32Bits = true;
                store.Initialize();
                using (var session = store.OpenAsyncSession())
                {
                    await new Projector <IAsyncDocumentSession>(specification.Resolver).
                    ProjectAsync(session, specification.Messages);
                    await session.SaveChangesAsync();

                    var result = await specification.Verification(session, CancellationToken.None);

                    if (result.Failed)
                    {
                        throw new AssertionException(result.Message);
                    }
                }
            }
        }
コード例 #2
0
        public void MessagesReturnsExpectedResult()
        {
            var messages = new [] { new object(), new object() };
            var sut      = new ProjectionTestSpecification <object>(
                Resolve.WhenEqualToHandlerMessageType(new ProjectionHandler <object> [0]),
                messages,
                (session, token) => Task.FromResult(VerificationResult.Pass()));

            var result = sut.Messages;

            Assert.That(result, Is.SameAs(messages));
        }
コード例 #3
0
        public void ResolverReturnsExpectedResult()
        {
            var resolver = Resolve.WhenEqualToHandlerMessageType(new ProjectionHandler <object> [0]);
            var sut      = new ProjectionTestSpecification <object>(
                resolver,
                new object[0],
                (session, token) => Task.FromResult(VerificationResult.Pass()));

            var result = sut.Resolver;

            Assert.That(result, Is.SameAs(resolver));
        }
コード例 #4
0
        public void VerificationReturnsExpectedResult()
        {
            Func <object, CancellationToken, Task <VerificationResult> > verification =
                (session, token) => Task.FromResult(VerificationResult.Pass());
            var sut = new ProjectionTestSpecification <object>(
                Resolve.WhenEqualToHandlerMessageType(new ProjectionHandler <object> [0]),
                new object[0],
                verification);

            var result = sut.Verification;

            Assert.That(result, Is.SameAs(verification));
        }
コード例 #5
0
        public static async Task Assert(this ProjectionTestSpecification <MemoryCache> specification)
        {
            if (specification == null)
            {
                throw new ArgumentNullException("specification");
            }
            using (var cache = new MemoryCache(new Random().Next().ToString()))
            {
                await new Projector <MemoryCache>(specification.Resolver).
                ProjectAsync(cache, specification.Messages);
                var result = await specification.Verification(cache, CancellationToken.None);

                if (result.Failed)
                {
                    throw new AssertionException(result.Message);
                }
            }
        }