public async Task TestExceptionsNotSwallowedAsync()
        {
            var executor = new MultipleLinesExecutor();

            var commandChannel = new Mock <IAsyncCommandChannel>();

            commandChannel
            .Setup(m => m.FetchLinesAsync(It.IsAny <string>(), It.IsAny <IDictionary <string, IConvertible> >()))
            .Throws <VerySpecificException>();

            await Assert.ThrowsExceptionAsync <VerySpecificException>(async() => await executor.ExecuteOnAdapterAsync(commandChannel.Object, ""));
        }
        public void TestExceptionsNotSwallowed()
        {
            var executor = new MultipleLinesExecutor();

            var commandChannel = new Mock <ICommandChannel>();

            commandChannel
            .Setup(m => m.FetchLines(It.IsAny <string>(), It.IsAny <IDictionary <string, IConvertible> >()))
            .Throws <VerySpecificException>();

            Assert.ThrowsException <VerySpecificException>(() => executor.ExecuteOnAdapter(commandChannel.Object, ""));
        }
        public void TestMultipleLines()
        {
            var commandChannel = Mock.Of <ICommandChannel>(m =>
                                                           m.FetchLines(It.IsAny <string>(), It.IsAny <IEnumerable <KeyValuePair <string, IConvertible> > >()) ==
                                                           new[]
            {
                new Dictionary <string, IConvertible> {
                    { "a", "b" }, { "c", "d" }
                },
                new Dictionary <string, IConvertible> {
                    { "a", "f" }, { "c", "h" }
                },
            }
                                                           );

            var result = new MultipleLinesExecutor().ExecuteOnAdapter(commandChannel, "");

            Assert.AreEqual("b", result[0]["a"].ToString());
            Assert.AreEqual("d", result[0]["c"].ToString());
            Assert.AreEqual("f", result[1]["a"].ToString());
            Assert.AreEqual("h", result[1]["c"].ToString());
        }
Beispiel #4
0
        public ITableSelect <IReadOnlyList <IReadOnlyDictionary <string, IConvertible> > > SelectLines(params string[] columns)
        {
            var executor = new MultipleLinesExecutor();

            return(SelectCustom(executor, columns));
        }