private async Task ServiceAPI_ServiceSession_Dispose_Verification_Action()
        {
            var DailyLedger = @"
; Income
2011/11/21 Payment for hard work completed
   Bank:Paypal       $350.00
   Income:Hard Work
2012/7/1 Partial payment from Client X
   Bank:Paypal       $100
   Receivable:ClientX";

            var engine = new ServiceEngine();

            for (int i = 0; i < 2; i++)
            {
                var inputText = string.Join(Environment.NewLine, "", "", DailyLedger).Trim();
                using (var session = await engine.CreateSessionAsync("-f /dev/stdin", inputText).ConfigureAwait(false))
                {
                    var result = await session.ExecuteCommandAsync("bal").ConfigureAwait(false);

                    if (result.HasErrors)
                    {
                        throw new Exception(result.ErrorText);
                    }
                    Assert.True(result.OutputText.Any());
                }
            }
        }
        private async Task <ServiceResponse> ServiceAPI_IntegrationTests_2_Exec(ServiceEngine serviceEngine)
        {
            var session = await serviceEngine.CreateSessionAsync("-f /dev/stdin", InputText);

            var response = await session.ExecuteCommandAsync("bal checking --account=code");

            return(response);
        }
        public void ServiceAPI_IntegrationTests_3()
        {
            var engine  = new ServiceEngine();
            var session = engine.CreateSessionAsync("-f /dev/stdin", InputText).Result;

            var ex1 = CheckSessionResponseOutput(session.ExecuteCommandAsync("bal checking --account=code").Result, BalCheckingOutputText);
            var ex2 = CheckSessionResponseOutput(session.ExecuteCommandAsync("bal").Result, BalOutputText);
            var ex3 = CheckSessionResponseOutput(session.ExecuteCommandAsync("reg").Result, RegOutputText);

            Assert.Null(CheckSessionResponseOutput(session.ExecuteCommandAsync("bal checking --account=code").Result, BalCheckingOutputText));
            Assert.Null(CheckSessionResponseOutput(session.ExecuteCommandAsync("bal").Result, BalOutputText));
            Assert.Null(CheckSessionResponseOutput(session.ExecuteCommandAsync("reg").Result, RegOutputText));
        }