コード例 #1
0
        public static List <ResultModel> FromDomain(Checklist.Checklist checklist)
        {
            var list = new List <ResultModel>();

            foreach (var r0 in checklist.Rubrics)
            {
                var rubric = r0.Value;
                MapToListRecursive(rubric, list, rubric.IsAutoSet);
            }

            return(list);
        }
コード例 #2
0
        public static void ChecklistTreeStructureShouldBeConsistent(Checklist.Checklist checklist)
        {
            checklist.Should().NotBeNull();

            checklist.Rubrics.Count.Should().Be(2);
            checklist.Rubrics["R1"].Children.Count.Should().Be(2);
            checklist.Rubrics["R1"].Children.Should().ContainKeys("R1,P1", "R1,P2");
            checklist.Rubrics["R2"].Children.Count.Should().Be(2);
            checklist.Rubrics["R2"].Children.Should().ContainKeys("R2,G1", "R2,G2");

            checklist.Rubrics["R1"].Children["R1,P1"].ConjunctElementCode.Should().Be("R1,P1");
            checklist.Rubrics["R1"].Children["R1,P1"].ElementCode.Should().Be("P1");
            checklist.Rubrics["R1"].Children["R1,P1"].ShortName.Should().Be("P1");
            checklist.Rubrics["R1"].Children["R1,P1"].Parent.Should().NotBeNull();
            checklist.Rubrics["R1"].Children["R1,P1"].Parent.ConjunctElementCode.Should().Be("R1");
            checklist.Rubrics["R1"].Children["R1,P1"].Parent.ElementCode.Should().Be("R1");
            checklist.Rubrics["R1"].Children["R1,P1"].Parent.ShortName.Should().Be("R1");
            checklist.Rubrics["R1"].Children["R1,P2"].ConjunctElementCode.Should().Be("R1,P2");
            checklist.Rubrics["R1"].Children["R1,P2"].ElementCode.Should().Be("P2");
            checklist.Rubrics["R1"].Children["R1,P2"].ShortName.Should().Be("P2");
            checklist.Rubrics["R1"].Children["R1,P2"].Parent.Should().NotBeNull();
            checklist.Rubrics["R1"].Children["R1,P2"].Parent.ConjunctElementCode.Should().Be("R1");
            checklist.Rubrics["R1"].Children["R1,P2"].Parent.ElementCode.Should().Be("R1");
            checklist.Rubrics["R1"].Children["R1,P2"].Parent.ShortName.Should().Be("R1");

            checklist.Rubrics["R2"].Children["R2,G1"].ConjunctElementCode.Should().Be("R2,G1");
            checklist.Rubrics["R2"].Children["R2,G1"].ElementCode.Should().Be("G1");
            checklist.Rubrics["R2"].Children["R2,G1"].ShortName.Should().Be("G1");
            checklist.Rubrics["R2"].Children["R2,G1"].Parent.Should().NotBeNull();
            checklist.Rubrics["R2"].Children["R2,G1"].Parent.ConjunctElementCode.Should().Be("R2");
            checklist.Rubrics["R2"].Children["R2,G1"].Parent.ElementCode.Should().Be("R2");
            checklist.Rubrics["R2"].Children["R2,G1"].Parent.ShortName.Should().Be("R2");
            checklist.Rubrics["R2"].Children["R2,G1"].Children.Count.Should().Be(3);
            checklist.Rubrics["R2"].Children["R2,G1"].Children.Should().ContainKeys("R2,G1,P1", "R2,G1,P2", "R2,G1,P3");

            checklist.Rubrics["R2"].Children["R2,G2"].ConjunctElementCode.Should().Be("R2,G2");
            checklist.Rubrics["R2"].Children["R2,G2"].ElementCode.Should().Be("G2");
            checklist.Rubrics["R2"].Children["R2,G2"].ShortName.Should().Be("G2");
            checklist.Rubrics["R2"].Children["R2,G2"].Parent.Should().NotBeNull();
            checklist.Rubrics["R2"].Children["R2,G2"].Parent.ConjunctElementCode.Should().Be("R2");
            checklist.Rubrics["R2"].Children["R2,G2"].Parent.ElementCode.Should().Be("R2");
            checklist.Rubrics["R2"].Children["R2,G2"].Parent.ShortName.Should().Be("R2");
            checklist.Rubrics["R2"].Children["R2,G2"].Children.Count.Should().Be(2);
            checklist.Rubrics["R2"].Children["R2,G2"].Children.Should().ContainKeys("R2,G2,SG1", "R2,G2,SG2");

            checklist.Rubrics["R2"].Children["R2,G2"].Children["R2,G2,SG1"].Children.Count.Should().Be(4);
            checklist.Rubrics["R2"].Children["R2,G2"].Children["R2,G2,SG1"].Children.Should().ContainKeys("R2,G2,SG1,P1", "R2,G2,SG1,P2", "R2,G2,SG1,P3", "R2,G2,SG1,P4");
            checklist.Rubrics["R2"].Children["R2,G2"].Children["R2,G2,SG2"].Children.Count.Should().Be(2);
            checklist.Rubrics["R2"].Children["R2,G2"].Children["R2,G2,SG2"].Children.Should().ContainKeys("R2,G2,SG2,P1", "R2,G2,SG2,P2");
        }
コード例 #3
0
 public static Checklist.Checklist AllOk(Checklist.Checklist checklist)
 {
     checklist.SetOutcome("R1,P1", InspectionOutcome.Ok);
     checklist.SetOutcome("R1,P2", InspectionOutcome.Ok);
     checklist.SetOutcome("R1", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2,SG1,P1", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2,SG1,P2", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2,SG1,P3", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2,SG1,P4", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2,SG1", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2,SG2,P1", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2,SG2,P2", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2,SG2", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G2", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G1,P1", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G1,P2", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G1,P3", InspectionOutcome.Ok);
     checklist.SetOutcome("R2,G1", InspectionOutcome.Ok);
     checklist.SetOutcome("R2", InspectionOutcome.Ok);
     return(checklist);
 }
コード例 #4
0
        public static Checklist.Checklist ConstructChecklist()
        {
            var checklist = new Checklist.Checklist(1)
                            .AddRubric("R1", new RubricResult("R1", "R1", "R1")
                                       .AddChild("R1,P1", new PointResult("R1,P1", "P1", "P1"))
                                       .AddChild("R1,P2", new PointResult("R1,P2", "P2", "P2")))
                            .AddRubric("R2", new RubricResult("R2", "R2", "R2")
                                       .AddChild("R2,G1", new GroupResult("R2,G1", "G1", "G1")
                                                 .AddChild("R2,G1,P1", new PointResult("R2,G1,P1", "P1", "P1"))
                                                 .AddChild("R2,G1,P2", new PointResult("R2,G1,P2", "P2", "P2"))
                                                 .AddChild("R2,G1,P3", new PointResult("R2,G1,P3", "P3", "P3")))
                                       .AddChild("R2,G2", new GroupResult("R2,G2", "G2", "G2")
                                                 .AddChild("R2,G2,SG1", new GroupResult("R2,G2,SG1", "SG1", "SG1")
                                                           .AddChild("R2,G2,SG1,P1", new PointResult("R2,G2,SG1,P1", "P1", "P1"))
                                                           .AddChild("R2,G2,SG1,P2", new PointResult("R2,G2,SG1,P2", "P2", "P2"))
                                                           .AddChild("R2,G2,SG1,P3", new PointResult("R2,G2,SG1,P3", "P3", "P3"))
                                                           .AddChild("R2,G2,SG1,P4", new PointResult("R2,G2,SG1,P4", "P4", "P4")))
                                                 .AddChild("R2,G2,SG2", new GroupResult("R2,G2,SG2", "SG2", "SG2")
                                                           .AddChild("R2,G2,SG2,P1", new PointResult("R2,G2,SG2,P1", "P1", "P1"))
                                                           .AddChild("R2,G2,SG2,P2", new PointResult("R2,G2,SG2,P2", "P2", "P2")))));

            return(checklist);
        }
コード例 #5
0
        public static InspectionPdfModel FromDomain(Inspection.Inspection inspection, Farm.Farm farm, Checklist.Checklist checklist, string cantonCode, string logoPath)
        {
            var model = new InspectionPdfModel
            {
                CampaignName       = inspection.Campaign.Name,
                CampaignYear       = inspection.Campaign.Year,
                DomainShortName    = inspection.Domain.ShortName,
                DomainName         = inspection.Domain.ShortName,
                FocaaLogoPath      = logoPath,
                InspectionResults  = ResultModel.FromDomain(checklist),
                ActionsOrDocuments = inspection.Compliance.ActionsOrDocuments,
                DueDate            = inspection.Compliance.DueDate,
                DoneOn             = inspection.FinishStatus.DoneOn,
                //DoneInTownZip = inspection.FinishStatus.DoneInTown?.Zip ?? 0,
                //DoneInTownName = inspection.FinishStatus.DoneInTown?.Name,
                HasProxy                 = inspection.FarmerSignature.HasProxy,
                ProxyName                = inspection.FarmerSignature.Proxy,
                DoneByInspector          = inspection.InspectorSignature.Signatory,
                Inspector2               = inspection.Inspector2Signature.Signatory,
                FarmerSignatureImage     = inspection.FarmerSignature.DataUrl,
                InspectorSignatureImage  = inspection.InspectorSignature.DataUrl,
                Inspector2SignatureImage = inspection.Inspector2Signature.DataUrl,
                CantonCode               = cantonCode,
                Farm             = FarmModel.FromDomain(farm),
                CommentForFarmer = inspection.CommentForFarmer
            };

            return(model);
        }
コード例 #6
0
        public void Empty_checklist_Percent_should_be_zero_by_convention()
        {
            var checklist = new Checklist.Checklist(1, 1);

            checklist.Percent.Should().Be(0);
        }
コード例 #7
0
 public ChecklistTests()
 {
     checklist_ = TestDataHelper.ConstructChecklist();
 }
コード例 #8
0
        public void Outcome_is_nc_by_convention_when_checklist_is_empty()
        {
            var checklist = new Checklist.Checklist(1, 1);

            checklist.OutcomeComputed.Should().Be(InspectionOutcome.NotInspected);
        }
コード例 #9
0
 public ChecklistTests()
 {
     checklist_ = ChecklistTestHelper.BuildChecklist();
 }