Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
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].Collector.Should().NotBeNull();
            sut[0].Collector.Name.Should().Contain("Pasalu");
            sut[0].Assignment.Should().Be("DRY, WET");

            var covr = sut[0].StallCoverage;

            covr.ActiveStallsCount.Should().Be(101);
            covr.CollectedsCount.Should().Be(94);
            covr.UncollectedsCount.Should().Be(7);
            covr.NoOperationsCount.Should().Be(8);
            covr.CoverageRate.Should().BeApproximately(0.93M, 0.01M);

            var rent = sut[0].RentBill;

            rent.Target.Should().Be(15013.1M);
            rent.NoExcess.Should().Be(10574.35M);
            rent.UnderpaidCount.Should().Be(15);
            rent.UnderpaidTotal.Should().Be(4438.75M);
            rent.OverpaidCount.Should().Be(55);
            rent.OverpaidTotal.Should().Be(1240.65M);
            rent.PerfRate.Should().BeApproximately(0.70M, 0.01M);

            var rights = sut[0].RightsBill;

            rights.Target.Should().Be(1881);
            rights.NoExcess.Should().Be(116);
            rights.UnderpaidCount.Should().Be(31);
            rights.UnderpaidTotal.Should().Be(1840);
            rights.OverpaidCount.Should().Be(0);
            rights.OverpaidTotal.Should().Be(0);
            rights.PerfRate.Should().BeApproximately(0.06M, 0.01M);
        }