Пример #1
0
        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);
        }
Пример #2
0
        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();
        }
Пример #3
0
        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));
        }