public void findACVTest() { DateTime now = DateTime.Now; this._patientACV = new List<ACV>(); int ACVSize = 3; DbMethods.getInstance().clearTables(); DbMethods.getInstance().InsertPatient(); DbMethods.getInstance().InsertVisit(0, 1, 1, now); DbMethods.getInstance().InsertVisit(0, 1, 2, now); DbMethods.getInstance().InsertVisit(0, 1, 3, now); DbMethods.getInstance().InsertVisit(0, 1, 4, now.AddDays(1)); Patient p1 = new Patient(0); p1.FindACVs(ACVSize, PatientACVFound); Assert.True(this._patientACV.Count == (Util.getFactorial(p1.Visits.Count)/(Util.getFactorial(ACVSize)*Util.getFactorial(p1.Visits.Count-ACVSize)))); }
public void matchACVTest() { this._patientACV = new List<ACV>(); DateTime now = DateTime.Now; DbMethods.getInstance().clearTables(); DbMethods.getInstance().InsertPatient(); DbMethods.getInstance().InsertVisit(0, 1, 1, now); DbMethods.getInstance().InsertVisit(0, 1, 2, now); DbMethods.getInstance().InsertVisit(0, 1, 3, now); DbMethods.getInstance().InsertPatient(); DbMethods.getInstance().InsertVisit(1, 1, 1, now); DbMethods.getInstance().InsertVisit(1, 1, 2, now); DbMethods.getInstance().InsertVisit(1, 1, 3, now); Patient p1 = new Patient(0); Patient p2 = new Patient(1); p2.FindACVs(2, PatientACVFound); foreach (ACV v in this._patientACV) { Assert.True(p1.MatchesACV(v)); } }
//return list of ACV for a specified patient using the tree based algorithm public List<ACV> retrievePatientACV_clientBased(int patientID, int n) { List<Visit> visits = DbMethods.getInstance().getPatientVisits(patientID); Patient p = new Patient(patientID); List<ACV> acvs = new List<ACV>(); p.FindACVs(n, new ACVFoundEventHandler( (Patient sender, ACVFoundArgs args) => { acvs.Add(args.ACV); } )); return acvs; }