Beispiel #1
0
        public void QrelReadTest()
        {
            ITask<IListResult> task = new nFire.Base.Task<IListResult>();
            QrelFormatter target = new QrelFormatter();
            using (MemoryStream stream = new MemoryStream(Resources.qrels)) {
                List<IRun<IListResult>> qrels = new List<IRun<IListResult>>(target.Read(stream, task));
                Assert.AreEqual(qrels.Count, 3);

                IRun<IListResult> qrel = qrels[0];
                Assert.AreEqual("301", qrel.Query.Id);
                Assert.AreEqual("Qrel", qrel.System.Id);
                Assert.AreEqual(1708, qrel.Count);
                Assert.AreEqual("CR93E-10279", qrel.First().Document.Id);
                Assert.AreEqual("LA123090-0148", qrel.Last().Document.Id);
                Assert.AreEqual(4, qrel.ElementAt(38).Score);
                Assert.AreEqual(1, qrel.ElementAt(958).Score);

                qrel = qrels[1];
                Assert.AreEqual("302", qrel.Query.Id);
                Assert.AreEqual("Qrel", qrel.System.Id);
                Assert.AreEqual(1061, qrel.Count);
                Assert.AreEqual("CR93E-10071", qrel.First().Document.Id);
                Assert.AreEqual("LA123090-0026", qrel.Last().Document.Id);
                Assert.AreEqual(3, qrel.ElementAt(191).Score);
                Assert.AreEqual(0, qrel.ElementAt(555).Score);

                qrel = qrels[2];
                Assert.AreEqual("303", qrel.Query.Id);
                Assert.AreEqual("Qrel", qrel.System.Id);
                Assert.AreEqual(608, qrel.Count);
                Assert.AreEqual("CR93E-11182", qrel.First().Document.Id);
                Assert.AreEqual("LA122990-0030", qrel.Last().Document.Id);
                Assert.AreEqual(0, qrel.ElementAt(96).Score);
                Assert.AreEqual(0, qrel.ElementAt(538).Score);
            }
        }
 public void Initialize()
 {
     this.Task = new Task<IListResult>();
     QrelFormatter qrelForm = new QrelFormatter();
     RunFormatter runForm = new RunFormatter();
     MemoryStream stream = new MemoryStream(Resources.qrels);
     var qrels = qrelForm.Read(stream, this.Task);
     stream = new MemoryStream(Resources.results);
     var runs = runForm.Read(stream, this.Task);
     Task.AddGroundTruths(qrels);
     Task.AddSystemRuns(runs);
 }