Пример #1
0
        public void May4to7()
        {
            var arg = SampleDir.Lease197();
            var sut = new ColxnSummaryReport(4.May(2018), 6.May(2018), arg);

            sut.Count.Should().Be(3);
            sut.DateRangeText.Should().Be("May 4, 2018  to  May 6, 2018");

            sut.SectionTotals.Should().HaveCount(4);
            sut.SectionTotals.ContainsKey(DRY).Should().BeTrue();
            sut.SectionTotals.ContainsKey(FRZ).Should().BeTrue();
            sut.SectionTotals.ContainsKey(WET).Should().BeTrue();
            sut.SectionTotals.ContainsKey(OFC).Should().BeTrue();

            sut.SectionTotals[DRY].Rent.Should().Be(12721 + 9992);
            sut.SectionTotals[FRZ].Rent.Should().Be(0 + 0);
            sut.SectionTotals[WET].Rent.Should().Be(18199 + 5889);
            sut.SectionTotals[OFC].Rent.Should().Be(0 + 0);

            sut.SectionTotals[DRY].Rights.Should().Be(750 + 0);
            sut.SectionTotals[FRZ].Rights.Should().Be(0 + 0);
            sut.SectionTotals[WET].Rights.Should().Be(2508 + 5929);
            sut.SectionTotals[OFC].Rights.Should().Be(3000 + 0);

            sut.GLAccounts[CR].Should().Be("CR");
            sut.GLAccounts[PRK].Should().Be("Parking");
            sut.OtherTotals.Count.Should().Be(2);
            sut.OtherTotals[CR].Should().Be(465 + 666);
            sut.OtherTotals[PRK].Should().Be(549);

            sut.TotalCollections.Should().Be(68666);
            sut.TotalDeposits.Should().Be(68666);
        }
Пример #2
0
        public void TestMethod00002()
        {
            var dir = SampleDir.Aug27_GRY();
            var sut = new GLRecapReport(Month.July, 2018, dir);

            sut.ToExcel();
        }
Пример #3
0
        public async Task ReviewMay8()
        {
            var args = SampleDir.Lease197();
            var sut  = new MainWindowVM(8.May(2018), args, false);
            await sut.RefreshCmd.RunAsync();

            sut.CashierColxns.Should().HaveCount(1);
            sut.CashierColxns.TotalSum.Should().Be(5_000);
            sut.OtherColxns.Should().HaveCount(1);
            sut.OtherColxns.TotalSum.Should().Be(519);
            sut.BankDeposits.Should().HaveCount(3);
            sut.BankDeposits.TotalSum.Should().Be(23_298);

            sut.SectionTabs[0].IntendedColxns.Should().HaveCount(38);
            sut.SectionTabs[0].IntendedColxns.TotalSum.Should().Be(7_466);
            sut.SectionTabs[0].AmbulantColxns.Should().HaveCount(0);
            sut.SectionTabs[0].AmbulantColxns.TotalSum.Should().Be(0);
            sut.SectionTabs[0].Uncollecteds.Should().HaveCount(7);
            sut.SectionTabs[0].NoOperations.Should().HaveCount(3);
            sut.SectionTabs[0].SectionTotal.Should().Be(7_466);

            sut.SectionTabs[1].IntendedColxns.Should().HaveCount(67);
            sut.SectionTabs[1].IntendedColxns.TotalSum.Should().Be(9_560);
            sut.SectionTabs[1].AmbulantColxns.Should().HaveCount(6);
            sut.SectionTabs[1].AmbulantColxns.TotalSum.Should().Be(585);
            sut.SectionTabs[1].Uncollecteds.Should().HaveCount(0);
            sut.SectionTabs[1].NoOperations.Should().HaveCount(9);
            sut.SectionTabs[1].SectionTotal.Should().Be(10_145);

            sut.PostAndClose.TotalCollections.Should().Be(23_130);
            sut.PostAndClose.TotalDeposits.Should().Be(23_298);
            sut.PostAndClose.IsBalanced.Should().BeFalse();
        }
Пример #4
0
        public async Task ReviewMay12()
        {
            var args = SampleDir.Lease197();
            var sut  = new MainWindowVM(12.May(2018), args, false);
            await sut.RefreshCmd.RunAsync();

            sut.CashierColxns.Should().HaveCount(0);
            sut.CashierColxns.TotalSum.Should().Be(0);
            sut.OtherColxns.Should().HaveCount(1);
            sut.OtherColxns.TotalSum.Should().Be(416);
            sut.BankDeposits.Should().HaveCount(2);
            sut.BankDeposits.TotalSum.Should().Be(15_831);

            sut.SectionTabs[0].IntendedColxns.Should().HaveCount(31);
            sut.SectionTabs[0].IntendedColxns.TotalSum.Should().Be(6_890);
            sut.SectionTabs[0].AmbulantColxns.Should().HaveCount(0);
            sut.SectionTabs[0].AmbulantColxns.TotalSum.Should().Be(0);
            sut.SectionTabs[0].Uncollecteds.Should().HaveCount(4);
            sut.SectionTabs[0].NoOperations.Should().HaveCount(13);
            sut.SectionTabs[0].SectionTotal.Should().Be(6_890);
            sut.SectionTabs[0].Collector.Name.Should().Be("Jomar Pasaludos");

            sut.SectionTabs[1].IntendedColxns.Should().HaveCount(63);
            sut.SectionTabs[1].IntendedColxns.TotalSum.Should().Be(7_785);
            sut.SectionTabs[1].AmbulantColxns.Should().HaveCount(4);
            sut.SectionTabs[1].AmbulantColxns.TotalSum.Should().Be(530);
            sut.SectionTabs[1].Uncollecteds.Should().HaveCount(2);
            sut.SectionTabs[1].NoOperations.Should().HaveCount(11);
            sut.SectionTabs[1].SectionTotal.Should().Be(8_315);
            sut.SectionTabs[1].Collector.Name.Should().Be("Jomar Pasaludos");

            sut.PostAndClose.TotalCollections.Should().Be(15_621);
            sut.PostAndClose.TotalDeposits.Should().Be(15_831);
            sut.PostAndClose.IsBalanced.Should().BeFalse();
        }
Пример #5
0
        public void TestMethod00001()
        {
            var dir = SampleDir.Aug27_GRY();
            var sut = new GLRecapReport(Month.July, 2018, dir);

            sut.Should().HaveCount(5);

            var equities = sut.ElementAt(0);

            equities.AccountType.Should().Be(GLAcctType.Equity);
            equities.Should().HaveCount(1);
            equities[0].Account.Name.Should().Be("Drawings");
            equities[0].TotalDebits.Should().Be(230780);
            equities[0].TotalCredits.Should().Be(0);
            equities[0].Should().HaveCount(2);
            equities.TotalDebits.Should().Be(230780);
            equities.TotalCredits.Should().Be(0);

            var assets = sut.ElementAt(1);

            assets.AccountType.Should().Be(GLAcctType.Asset);
            assets.Should().HaveCount(5);
            assets[1].Account.Name.Should().Be("Advances to Officers and Employees");
            assets[1].TotalDebits.Should().Be(1135);
            assets[1].TotalCredits.Should().Be(0);
            assets[1].Should().HaveCount(1);
            assets.TotalDebits.Should().Be(111455.83M);
            assets.TotalCredits.Should().Be(756405.14M);

            sut.TotalDebits.Should().Be(770000.23M);
            sut.TotalCredits.Should().Be(1268102.23M);
        }
Пример #6
0
        public void May19TotalOverdues()
        {
            var dir = SampleDir.May19_GRY();
            var bal = dir.Balances.TotalOverdues(19.May(2018));

            bal.Rent.Should().BeApproximately(223_540.52M, 0.1M);
            bal.Rights.Should().Be(0M);
        }
Пример #7
0
        public void BySectionfiltersbySecID()
        {
            var arg = SampleDir.Nov29_BIG();
            var sut = arg.MarketState.InactiveLeases;
            var res = sut.BySection(2); //DRY section

            res.Count.Should().Be(57);
        }
Пример #8
0
        public void TestMethod00003()
        {
            var arg = SampleDir.Jun16_GRY();
            var lse = arg.MarketState.ActiveLeases.Find(81, true);
            var sut = arg.Collections.For(16.June(2018)).Uncollecteds[WET];

            sut.GetDue(lse, BillCode.Rent).Should().Be(-191 + 90);
        }
Пример #9
0
        public void TestMethod00001()
        {
            var arg = SampleDir.Jun16_GRY();
            var lse = arg.MarketState.ActiveLeases.Find(158, true);
            var sut = arg.Collections.For(16.June(2018)).Uncollecteds[DRY];

            sut.GetDue(lse, BillCode.Rent).Should().Be(7800 + 234 + 167);
        }
Пример #10
0
        public void May4()
        {
            var arg = SampleDir.Lease197();
            var sut = new DailyColxnsReport(4.May(2018), arg);

            sut.Should().HaveCount(4);
            //sut.ContainsKey(DRY).Should().BeTrue();
            //sut.ContainsKey(FRZ).Should().BeTrue();
            //sut.ContainsKey(WET).Should().BeTrue();
            //sut.ContainsKey(OFC).Should().BeTrue();
            var dry = sut.Single(_ => _.Section.Id == DRY);
            var frz = sut.Single(_ => _.Section.Id == FRZ);
            var wet = sut.Single(_ => _.Section.Id == WET);
            var ofc = sut.Single(_ => _.Section.Id == OFC);

            dry.Rent.Should().Be(5821);
            frz.Rent.Should().Be(0);
            wet.Rent.Should().Be(10164);
            ofc.Rent.Should().Be(0);
            sut.TotalRent.Should().Be(15985);

            dry.Rights.Should().Be(750);
            frz.Rights.Should().Be(0);
            wet.Rights.Should().Be(1679);
            ofc.Rights.Should().Be(0);
            sut.TotalRights.Should().Be(2429);

            dry.Electric.Should().Be(831);
            frz.Electric.Should().Be(0);
            wet.Electric.Should().Be(965);
            ofc.Electric.Should().Be(0);
            sut.TotalElectric.Should().Be(1796);

            dry.Water.Should().Be(0);
            frz.Water.Should().Be(0);
            wet.Water.Should().Be(0);
            ofc.Water.Should().Be(0);
            sut.TotalWater.Should().Be(0);

            dry.Ambulant.Should().Be(0);
            frz.Ambulant.Should().Be(168);
            wet.Ambulant.Should().Be(355);
            ofc.Ambulant.Should().Be(0);
            sut.TotalAmbulant.Should().Be(523);

            dry.Total.Should().Be(7_402);
            frz.Total.Should().Be(168);
            wet.Total.Should().Be(13_163);
            ofc.Total.Should().Be(0);
            sut.SectionsTotal.Should().Be(20_733);

            sut.Others.Count.Should().Be(1);
            sut.Others[CR].Should().Be(465);

            sut.CollectionsSum.Should().Be(21_198);
            sut.DepositsSum.Should().Be(21_198);
        }
Пример #11
0
        public void TestMethod00005()
        {
            var dir = SampleDir.Jul21_NoUncol();
            var db  = dir.Collections.For(21.July(2018));

            db.Uncollecteds[1].GetAll().Should().BeEmpty();
            db.Uncollecteds[2].GetAll().Should().BeEmpty();
            db.Uncollecteds[3].GetAll().Should().HaveCount(4);
        }
Пример #12
0
        public void FindbyIDIncludesSectionobject()
        {
            var arg = SampleDir.Lease197();
            var sut = arg.MarketState.ActiveLeases;
            var rec = sut.Find(10, true);

            rec.Stall.Section.Should().NotBeNull();
            rec.Stall.Section.Name.Should().Be("WET");
        }
Пример #13
0
        public void PreparedChequesList()
        {
            var dir = SampleDir.May19_GRY();
            var sut = new PreparedChequesListVM(dir, null);

            sut.ReloadFromDB();
            sut.ItemsList.Count.Should().Be(9);
            sut.TotalSum.Should().Be(318_275.63M);
        }
Пример #14
0
        public void IssuedChequesList()
        {
            var dir = SampleDir.May19_GRY();
            var sut = new IssuedChequesListVM(dir);

            sut.ReloadFromDB();
            sut.ItemsList.Count.Should().Be(175);
            sut.TotalSum.Should().Be(3_296_842.70M);
        }
Пример #15
0
        public void FundRequestsList()
        {
            var dir = SampleDir.May19_GRY();
            var sut = new FundReqsListVM(dir);

            sut.ReloadFromDB();
            sut.ItemsList.Count.Should().Be(17);
            sut.TotalSum.Should().Be(501_380.77M);
        }
Пример #16
0
        public void FindbyIDIncludesSectionobject()
        {
            var arg = SampleDir.Aug27_GRY();
            var sut = arg.MarketState.InactiveLeases;
            var rec = sut.Find(16, true);

            rec.Stall.Section.Should().NotBeNull();
            rec.Stall.Section.Name.Should().Be("DRY");
        }
Пример #17
0
        public void July15()
        {
            var arg = SampleDir.Jul15_MEY();
            var sut = new DailyColxnsReport(15.July(2018), arg);

            sut.Should().HaveCount(4);
            var ofc = sut.Single(_ => _.Section.Id == OFC);

            ofc.Total.Should().Be(550);
        }
Пример #18
0
        public void GetAllIncludesSectionobject()
        {
            var arg = SampleDir.Lease197();
            var sut = arg.MarketState.Stalls;
            var all = sut.GetAll();

            foreach (var stall in all)
            {
                stall.Section.Should().NotBeNull();
                stall.Section.Name.Should().NotBeEmpty();
            }
        }
Пример #19
0
        public async Task TestMethod00004()
        {
            var arg = SampleDir.Nov29_BIG();

            arg.Credentials.Roles = "Cashier";
            var dte = arg.Collections.UnclosedDate();
            var win = new MainWindowVM(dte, arg, false);
            await win.RefreshCmd.RunAsync();

            win.SectionTabs[0].Uncollecteds.Should().HaveCount(11);
            win.SectionTabs[1].Uncollecteds.Should().HaveCount(0);
        }
Пример #20
0
        public void GetAllIncludesSectionobject()
        {
            var arg = SampleDir.Aug27_GRY();
            var sut = arg.MarketState.InactiveLeases;
            var all = sut.GetAll();

            foreach (var rec in all)
            {
                rec.Stall.Section.Should().NotBeNull();
                rec.Stall.Section.Name.Should().NotBeEmpty();
            }
        }
Пример #21
0
    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="countDir">方向</param>
    /// <param name="depth">深度</param>
    /// <param name="wing"></param>
    public Samples(int countDir, int depth, int wing)
    {
        this.countDir = countDir;
        this.depth    = depth;
        this.wing     = wing;

        sampleDirs = new SampleDir[countDir];
        for (int i = 0; i < countDir; i++)
        {
            sampleDirs[i] = new SampleDir(depth, wing);
        }
    }
Пример #22
0
        public void ColxnSummaryToExcel()
        {
            var arg = SampleDir.Lease197();
            var bgn = 3.May(2018);
            var end = 12.May(2018);

            //if (!PopUpInput.TryGetDateRange("Dates covered by Collection Summary Report", out (DateTime Start, DateTime End) rng, bgn, end)) return;
            //var rep = new ColxnSummaryReport(rng.Start, rng.End, arg);

            var rep = new ColxnSummaryReport(bgn, end, arg);

            rep.ToExcel();
        }
Пример #23
0
        public void Aug27Rights()
        {
            var dir = SampleDir.Aug27_GRY();
            var db  = dir.Collections.For(27.August(2018));
            var sut = CollectorsPerformanceReport.New(dir.MarketState, db);

            sut.Should().HaveCount(1);
            sut[0].Should().HaveCount(75);

            var row = sut[0].Single(_ => _.Lease.Id == 169); //DRY 056

            row.Rights.Target.Should().Be(234);
        }
Пример #24
0
        public void TestMethod00001()
        {
            var dir = SampleDir.Jul21_NoUncol();
            var sut = new ColxnSummaryReport(29.June(2018), 30.June(2018), dir);
            var row = sut[0];

            row.Date.Should().Be(29.June(2018));
            var sec = row[0];

            sec.Section.Name.Should().Be("DRY");
            sec.Rent.Should().Be(10328);
            //sut.ToExcel();
        }
Пример #25
0
        public async Task TestMethod00001()
        {
            var arg = SampleDir.Lease197();

            arg.Collections.ExecutionTimeOf(_ => _.UnclosedDate())
            .Should().BeLessThan(500.Milliseconds());

            var dte = arg.Collections.UnclosedDate();
            var sut = new MainWindowVM(dte, arg, false);
            await sut.RefreshCmd.RunAsync();

            sut.SectionTabs.Should().HaveCount(2);
        }
Пример #26
0
        public void May4()
        {
            var arg = SampleDir.Lease197();
            var db  = arg.Collections.For(4.May(2018));
            var mkt = arg.MarketState;
            var sut = new StallsInventoryReport(db, mkt);

            sut.Count.Should().Be(3);
            var dry   = sut.Single(_ => _.Section.Id == DRY);
            var frz   = sut.Single(_ => _.Section.Id == FRZ);
            var wet   = sut.Single(_ => _.Section.Id == WET);
            var total = sut.SummaryRows?.FirstOrDefault();

            dry.TotalCount.Should().Be(68);
            dry.TotalRent.Should().Be(11767);
            dry.Occupieds.Count.Should().Be(50);
            dry.OccupiedRent.Should().Be(8651);
            dry.OccupiedRate.Should().BeApproximately(0.74M, 0.01M);
            dry.Vacants.Count.Should().Be(18);
            dry.VacantRent.Should().Be(3116);
            dry.VacantRate.Should().BeApproximately(0.26M, 0.01M);

            frz.TotalCount.Should().Be(8);
            frz.TotalRent.Should().Be(0);
            frz.Occupieds.Count.Should().Be(0);
            frz.OccupiedRent.Should().Be(0);
            frz.OccupiedRate.Should().BeApproximately(0, 0.01M);
            frz.Vacants.Count.Should().Be(8);
            frz.VacantRent.Should().Be(0);
            frz.VacantRate.Should().BeApproximately(1, 0.01M);

            wet.TotalCount.Should().Be(102);
            wet.TotalRent.Should().Be(8520);
            wet.Occupieds.Count.Should().Be(83);
            wet.OccupiedRent.Should().Be(6960);
            wet.OccupiedRate.Should().BeApproximately(0.81M, 0.01M);
            wet.Vacants.Count.Should().Be(19);
            wet.VacantRent.Should().Be(1560);
            wet.VacantRate.Should().BeApproximately(0.19M, 0.01M);

            total.Should().NotBeNull();
            total.TotalCount.Should().Be(68 + 8 + 102);
            total.TotalRent.Should().Be(11767 + 0 + 8520);
            total.Occupieds.Count.Should().Be(50 + 0 + 83);
            total.OccupiedRent.Should().Be(8651 + 0 + 6960);
            total.OccupiedRate.Should().BeApproximately(0.747M, 0.01M);
            total.Vacants.Count.Should().Be(18 + 8 + 19);
            total.VacantRent.Should().Be(3116 + 0 + 1560);
            total.VacantRate.Should().BeApproximately(0.26M, 0.01M);
        }
Пример #27
0
        public void Jul3()
        {
            var arg = SampleDir.Jul3_GRY();
            var db  = arg.Collections.For(3.July(2018));
            var mkt = arg.MarketState;
            var sut = new StallsInventoryReport(db, mkt);

            sut.Count.Should().Be(3);
            var dry   = sut.Single(_ => _.Section.Id == DRY);
            var frz   = sut.Single(_ => _.Section.Id == FRZ);
            var wet   = sut.Single(_ => _.Section.Id == WET);
            var total = sut.SummaryRows?.FirstOrDefault();

            dry.TotalCount.Should().Be(68);
            dry.TotalRent.Should().Be(11767);
            dry.Occupieds.Count.Should().Be(38);
            dry.OccupiedRent.Should().Be(6615);
            dry.OccupiedRate.Should().BeApproximately(0.56M, 0.01M);
            dry.Vacants.Count.Should().Be(30);
            dry.VacantRent.Should().Be(5152);
            dry.VacantRate.Should().BeApproximately(0.44M, 0.01M);

            frz.TotalCount.Should().Be(8);
            frz.TotalRent.Should().Be(0);
            frz.Occupieds.Count.Should().Be(0);
            frz.OccupiedRent.Should().Be(0);
            frz.OccupiedRate.Should().BeApproximately(0, 0.01M);
            frz.Vacants.Count.Should().Be(8);
            frz.VacantRent.Should().Be(0);
            frz.VacantRate.Should().BeApproximately(1, 0.01M);

            wet.TotalCount.Should().Be(104);
            wet.TotalRent.Should().Be(8720);
            wet.Occupieds.Count.Should().Be(71);
            wet.OccupiedRent.Should().Be(6030);
            wet.OccupiedRate.Should().BeApproximately(0.68M, 0.01M);
            wet.Vacants.Count.Should().Be(33);
            wet.VacantRent.Should().Be(2690);
            wet.VacantRate.Should().BeApproximately(0.32M, 0.01M);

            total.Should().NotBeNull();
            total.TotalCount.Should().Be(68 + 8 + 104);
            total.TotalRent.Should().Be(11767 + 0 + 8720);
            total.Occupieds.Count.Should().Be(38 + 0 + 71);
            total.OccupiedRent.Should().Be(6615 + 0 + 6030);
            total.OccupiedRate.Should().BeApproximately(0.606M, 0.01M);
            total.Vacants.Count.Should().Be(30 + 8 + 33);
            total.VacantRent.Should().Be(5152 + 0 + 2690);
            total.VacantRate.Should().BeApproximately(0.394M, 0.01M);
        }
Пример #28
0
        public void ReadsAdjustments()
        {
            var arg = SampleDir.Lease197();
            var lse = arg.MarketState.ActiveLeases.Find(197, true);
            var sut = new SampleComposer(arg.Collections);

            sut._billCode = BillCode.Rent;
            var adj = sut.ReadAdjustments(lse, 4.May(2018));

            adj.Single().AmountOffset.Should().Be(-656);

            sut._billCode = BillCode.Rights;
            adj           = sut.ReadAdjustments(lse, 4.May(2018));
            adj.Single().AmountOffset.Should().Be(-10_000);
        }
Пример #29
0
        public void ReadsPayments()
        {
            var arg = SampleDir.Lease197();
            var lse = arg.MarketState.ActiveLeases.Find(197, true);
            var sut = new SampleComposer(arg.Collections);

            sut._billCode = BillCode.Rent;
            var pay = sut.ReadPayments(lse, 9.May(2018));

            pay.Single().Amount.Should().Be(160);

            sut._billCode = BillCode.Electric;
            pay           = sut.ReadPayments(lse, 11.May(2018));
            pay.Single().Amount.Should().Be(33);
            pay.Single().Collector.Name.Should().Be("Jomar Pasaludos");
        }
Пример #30
0
        public void Jul3()
        {
            var arg = SampleDir.Jul3_GRY();
            var db  = arg.Collections.For(3.July(2018));
            var sut = CollectorsPerformanceReport.New(arg.MarketState, db);

            sut.Should().HaveCount(1);
            sut[0].Should().HaveCount(94);

            // sample exact rent payment
            var row = sut[0].Single(_ => _.Lease.Id == 104);

            row.Stall.Name.Should().Be("WET 089");
            row.Rent.Target.Should().Be(90);
            row.Rent.Actual.Should().Be(90);
            row.Rent.NoExcess.Should().Be(90);
            row.Rent.Shortage.Should().Be(0);
            row.Rent.Overage.Should().Be(0);

            // sample rent overpaid 1
            row = sut[0].Single(_ => _.Lease.Id == 80);
            row.Stall.Name.Should().Be("DRY 040");
            row.Rent.Target.Should().Be(63);
            row.Rent.Actual.Should().Be(203);
            row.Rent.NoExcess.Should().Be(63);
            row.Rent.Shortage.Should().Be(0);
            row.Rent.Overage.Should().Be(140);

            // sample rent underpaid 1
            row = sut[0].Single(_ => _.Lease.Id == 48);
            row.Stall.Name.Should().Be("WET 102");
            row.Rent.Target.Should().Be(208.09M);
            row.Rent.Actual.Should().Be(205);
            row.Rent.NoExcess.Should().Be(205);
            row.Rent.Shortage.Should().Be(3.09M);
            row.Rent.Overage.Should().Be(0);

            // sample w/ negative rent balance
            row = sut[0].Single(_ => _.Lease.Id == 81);
            row.Stall.Name.Should().Be("WET 024");
            row.Rent.Target.Should().Be(0);
            row.Rent.Actual.Should().Be(90);
            row.Rent.NoExcess.Should().Be(0);
            row.Rent.Shortage.Should().Be(0);
            row.Rent.Overage.Should().Be(90);
        }