Beispiel #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);
        }
Beispiel #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");
        }
 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);
 }
        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);
        }
        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);
        }
Beispiel #6
0
        public void Empty_checklist_Percent_should_be_zero_by_convention()
        {
            var checklist = new Checklist.Checklist(1, 1);

            checklist.Percent.Should().Be(0);
        }
Beispiel #7
0
 public ChecklistTests()
 {
     checklist_ = TestDataHelper.ConstructChecklist();
 }
Beispiel #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);
        }
Beispiel #9
0
 public ChecklistTests()
 {
     checklist_ = ChecklistTestHelper.BuildChecklist();
 }