예제 #1
0
        public void Test_GDMSourceCitation()
        {
            GDMIndividualRecord indiv   = new GDMIndividualRecord(fContext.Tree);
            GDMSourceRecord     sourRec = new GDMSourceRecord(fContext.Tree);

            using (GDMSourceCitation srcCit = indiv.AddSource(sourRec, "p2", 3)) {
                Assert.IsNotNull(srcCit);

                int idx = indiv.IndexOfSource(sourRec);
                Assert.AreEqual(0, idx);

                Assert.AreEqual("p2", srcCit.Page);
                Assert.AreEqual(3, srcCit.CertaintyAssessment);
                Assert.AreEqual(3, srcCit.GetValidCertaintyAssessment());

                Assert.IsTrue(srcCit.IsPointer, "srcCit.IsPointer");

                Assert.IsFalse(srcCit.IsEmpty(), "srcCit.IsEmpty()"); // its pointer

                Assert.Throws(typeof(ArgumentException), () => {
                    srcCit.Assign(null);
                });

                srcCit.Clear();
                srcCit.Value = null;

                Assert.IsTrue(srcCit.IsEmpty(), "srcCit.IsEmpty()"); // its pointer

                srcCit.Description.Text = "test";
                Assert.AreEqual("test", srcCit.Description.Text);
            }
        }
예제 #2
0
        public float GetCertaintyAssessment()
        {
            float result = 0;
            float wsum   = 0;

            if (fEvents != null)
            {
                int num1 = fEvents.Count;
                for (int i = 0; i < num1; i++)
                {
                    GDMCustomEvent evt = fEvents[i];
                    if (!evt.HasSourceCitations)
                    {
                        continue;
                    }

                    int num2 = evt.SourceCitations.Count;
                    for (int k = 0; k < num2; k++)
                    {
                        GDMSourceCitation cit = evt.SourceCitations[k];

                        int ca     = cit.GetValidCertaintyAssessment();
                        int weight = (ca + 1);

                        result += (CA_VALUES[ca] * weight);
                        wsum   += weight;
                    }
                }
            }

            if (HasSourceCitations)
            {
                int num3 = SourceCitations.Count;
                for (int i = 0; i < num3; i++)
                {
                    GDMSourceCitation cit = SourceCitations[i];

                    int ca     = cit.GetValidCertaintyAssessment();
                    int weight = (ca + 1);

                    result += (CA_VALUES[ca] * weight);
                    wsum   += weight;
                }
            }

            if (wsum != 0.0f)
            {
                result /= wsum;
            }
            else
            {
                result = 0.0f;
            }

            return(result);
        }