Ejemplo n.º 1
0
        public static string GetReference(this ISimEvidence evidence, SimObservations observations)
        {
            var evidenceSource = evidence.EvidenceSources
                                 .Find(es => es.ID == observations.EvidenceSourceID)
                                 .AssertSome();

            return($"{evidenceSource.GetReference()}/{observations.ID}/{observations.Subject}/{observations.RefName}");
        }
Ejemplo n.º 2
0
        public void TestSimObservationsReferenceRoundTrip()
        {
            // arrange
            var evidenceSources = Range(1, 5, 2).Map(id =>
                                                     new SimEvidenceSource(
                                                         100 + id,
                                                         $"name{id:0000}",
                                                         $"desc{id:0000}",
                                                         toSet(Range(id, id).Map(s => $"subject{s:0000}")),
                                                         $"refName{id:0000}",
                                                         $"refHash{id:0000}"
                                                         )
                                                     )
                                  .ToArr();

            var observations = Range(1, 5, 2)
                               .Map(
                id => new SimObservations(
                    10 + id,
                    100 + id,
                    $"subjectX",
                    $"refName{id:0000}",
                    Array(1d, 2, 3),
                    Array(4d, 5, 6)
                    )
                )
                               .ToArr();

            var observationsSet = new SimObservationsSet(observations.Head().Subject, observations);

            var mockEvidence = new Mock <ISimEvidence>();

            mockEvidence.Setup(me => me.EvidenceSources).Returns(evidenceSources);
            mockEvidence.Setup(me => me.GetObservationSet(It.Is <string>(s => s == "subjectX"))).Returns(observationsSet);
            ISimEvidence evidence = mockEvidence.Object;

            SimEvidenceSource evidenceSource = evidenceSources.Skip(1).Take(1).Single();
            SimObservations   expected       = observations.Skip(1).Take(1).Single();

            // act
            var reference = evidence.GetReference(expected);
            var actual    = evidence.GetObservations(reference);

            // assert
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 3
0
 public static string GetFQObservationsName(this ISimEvidence evidence, SimObservations observations) =>
 observations.GetFQObservationsName(evidence.GetEvidenceSource(observations.EvidenceSourceID));
Ejemplo n.º 4
0
 public static bool ContainsObservations(this Arr <SimObservations> arr, SimObservations observations) =>
 arr.Exists(o => o.EvidenceSourceID == observations.EvidenceSourceID && o.ID == observations.ID);
Ejemplo n.º 5
0
 public static string GetFQObservationsName(this SimObservations observations, SimEvidenceSource evidenceSource) =>
 observations.Subject != observations.RefName
 ? $"{observations.Subject} x {observations.X.Count} from {evidenceSource.Name} ({observations.RefName})"
 : $"{observations.Subject} x {observations.X.Count} from {evidenceSource.Name}";