public void TestRequiredChange() { //var context = new Mock<ITrialDataContext>(); //var repo = new Repository(() => context.Object); var emptyViol = new ProtocolViolation[0]; var now = DateTime.Now; var part = new ParticipantProgressModel { Id = 1, TrialArm = RandomisationArm.RussianBCG, VaccinesAdministered = new VaccineAdministered[0], ProtocolViolations = emptyViol, RegisteredAt = now.AddDays(-1), DateTimeBirth = now.AddHours(-26) }; var partVM = new ParticipantListItemViewModel(part); var changeList = new HashSet <string>(); partVM.PropertyChanged += (o, e) => changeList.Add(e.PropertyName); Assert.AreEqual(DataRequiredOption.BcgDataRequired, partVM.DataRequired); partVM.ProtocolViolations = new ProtocolViolation[] { new ProtocolViolation { Details = "test", Id = 1, ParticipantId = 1, ReportingTimeLocal = now, ViolationType = ViolationTypeOption.MajorWrongTreatment } }; Assert.IsTrue(changeList.Contains("DataRequired"), "DataRequired was not included as a PropertyChanged argument"); Assert.AreEqual(DataRequiredOption.AwaitingOutcomeOr28, partVM.DataRequired); changeList.Clear(); partVM.ProtocolViolations = emptyViol; Assert.IsTrue(changeList.Contains("DataRequired"), "DataRequired was not included as a PropertyChanged argument"); Assert.AreEqual(DataRequiredOption.BcgDataRequired, partVM.DataRequired); changeList.Clear(); partVM.VaccinesAdministered = new VaccineAdministered[] { new VaccineAdministered { AdministeredAt = now, ParticipantId = 1, Id = 1, VaccineGiven = DataContextInitialiser.RussianBcg, VaccineId = DataContextInitialiser.RussianBcg.Id } }; Assert.IsTrue(changeList.Contains("DataRequired"), "DataRequired was not included as a PropertyChanged argument"); Assert.AreEqual(DataRequiredOption.AwaitingOutcomeOr28, partVM.DataRequired); }
public ParticipantViewModel(IRepository repository, ParticipantProgressModel participant) : base(participant) { _outcomeSplitter = new OutcomeAt28DaysSplitter(participant.OutcomeAt28Days); SaveChanges = new RelayCommand(Save, CanSave); NewVaccineCmd = new RelayCommand(CreateNewVaccine, CanCreateNewVaccine); AttachCollections(); _ageTimer = new DispatcherTimer(DispatcherPriority.Normal) { Interval = IntervalToSameTime(participant.DateTimeBirth) }; _ageTimer.Tick += OnAgeIncrementing; _ageTimer.Start(); }
public void TestObjectDumper() { var va = new VaccineAdministeredModel() { AdministeredAtDateTime = DateTime.Now, Id = 1, VaccineId = 1 }; var p = new ParticipantProgressModel { AdmissionDiagnosis = "asd", AdmissionWeight = 1900, AgeDays = 3, TrialArm = BlowTrial.Domain.Outcomes.RandomisationArm.RussianBCG, DateTimeBirth = DateTime.Now, VaccineModelsAdministered = new VaccineAdministeredModel[] { va, va }, ProtocolViolations = new ProtocolViolation[0] }; va.AdministeredTo = p; Console.Write(GenericToDataString.ObjectDumper.Dump(p)); Console.Write(GenericToDataString.ObjectDumper.Dump(null)); IEnumerable <VaccineAdministered> vas = null; Console.Write(GenericToDataString.ObjectDumper.Dump(vas)); vas = new VaccineAdministered[] { new VaccineAdministered { Id = 1, ParticipantId = 3 } }; Console.Write(GenericToDataString.ObjectDumper.Dump(vas)); var c = new Dictionary <int, string> { { 1, "one" }, { 2, "two" } }; Console.Write(GenericToDataString.ObjectDumper.Dump(c)); var d = new Dictionary <int, VaccineAdministeredModel> { { 1, va } }; Console.Write(GenericToDataString.ObjectDumper.Dump(d)); }