示例#1
0
        public void CorrectAdjustmentsReturned()
        {
            InvoiceAnalysis ia = new InvoiceAnalysis(fh.InvoiceFiles());
            // All
            decimal expected = 2m;
            decimal actual   = ia.Adjustments();

            Assert.Equal(expected, actual);

            // 18-19 Tax Year
            decimal expected1 = 0m;
            decimal actual1   = ia.Adjustments(Array.FindAll(ia.Invoices, x => (x.Date <= new DateTime(2019, 4, 5) && x.Date >= new DateTime(2018, 4, 6))));

            Assert.Equal(expected1, actual1);
        }
示例#2
0
        private static void RunAnalytics(InvoiceAnalysis analyser, IInvoice[] invoices)
        {
            Console.WriteLine("*FIGURES*\n");
            if (invoices == null)
            {
                Console.WriteLine($"Invoices Count: {analyser.Invoices.Length}");
            }
            else
            {
                Console.WriteLine($"Invoices Count: {invoices.Length}");
            }

            Console.WriteLine($"Total: £{analyser.Total(invoices)} \nOrders Delivered: {analyser.OrdersDelivered(invoices)} \nDrop Fees: £{analyser.DropFees(invoices)} \nTips: £{analyser.Tips(invoices)} " +
                              $"\nAdjustments: £{analyser.Adjustments(invoices)} \nTransaction Fees: £{analyser.TransactionFees(invoices)} \nHours Worked: {analyser.HoursWorked(invoices)}h\n");
            WriteBar();
            Console.WriteLine("*AVERAGES*\n");
            Console.WriteLine($"Average Total: £{analyser.AverageTotal(invoices)} \nAverage Orders Delivered: {analyser.AverageOrdersPerInvoice(invoices)} " +
                              $"\nAverage Drop Fees: £{analyser.AverageDropFees(invoices)} \nAverage Tips: £{analyser.AverageTips(invoices)} \nAverage Hours Worked: {analyser.AverageHoursWorked(invoices)}h\n");
            WriteBar();
            Console.WriteLine("*STATS*\n");
            Console.WriteLine($"Hourly Earnings: £{analyser.HourlyEarnings(invoices)} p/h \nOrders per Hour: {analyser.OrdersPerHour(invoices)} p/h \nFee per Order: £{analyser.AverageOrderFee(invoices)} \n" +
                              $"Tips per Order: £{analyser.TipPerOrder(invoices)} \nOrders per £1 Tip: {analyser.OrdersPerTip(invoices)}\n");
        }