private void FillVitalsBasedOnPreviousVisit(VitalsFormData vitalsOriginalFormData, VitalsFormData vitalsFormData,
                                                    Form vitalsForm)
        {
            vitalsForm.FormState        = FormState.Completed;
            vitalsFormData.Height.Value = vitalsOriginalFormData.Height.Value;
            double weight = double.Parse(vitalsOriginalFormData.Weight.Value);

            weight = Math.Round(weight + randomGenerator.NextDouble() * 3 - 1.5d, 1);
            vitalsFormData.Weight.Value = weight.ToString();

            vitalsFormData.BloodPressureDiastolic.Value = vitalsOriginalFormData.BloodPressureDiastolic.Value;
            vitalsFormData.BloodPressureSystolic.Value  = vitalsOriginalFormData.BloodPressureSystolic.Value;

            var temperature = GetRandomTemperature();

            vitalsFormData.Temperature.Value = temperature.ToString();
            var heartRate = GetRandomHeartRate();

            vitalsFormData.HeartRate.Value = heartRate.ToString();
        }
Beispiel #2
0
        private VitalsFormData AddVitalsFormData(Form form)
        {
            var formData = new VitalsFormData()
            {
                Form       = form,
                ActualTime = new Question {
                    Caption = "Actual Time", DataType = QuestionDataType.Date, Form = form
                },
                Height = new Question {
                    Caption = "Height", DataType = QuestionDataType.Number, Form = form
                },
                Weight = new Question {
                    Caption = "Weight", DataType = QuestionDataType.Number, Form = form
                },
                Temperature = new Question {
                    Caption = "Temperature", DataType = QuestionDataType.Number, Form = form
                },
                HeartRate = new Question {
                    Caption = "Heart Rate", DataType = QuestionDataType.Integer, Form = form
                },
                BloodPressureSystolic = new Question {
                    Caption = "Systolic Blood Pressure, mmHg", DataType = QuestionDataType.String, Form = form
                },
                BloodPressureDiastolic = new Question {
                    Caption = "Diastolic Blood Pressure, mmHg", DataType = QuestionDataType.String, Form = form
                }
            };

            VitalsFormDataRepository.Add(formData);
            QuestionRepository.Add(formData.ActualTime);
            QuestionRepository.Add(formData.Height);
            QuestionRepository.Add(formData.Weight);
            QuestionRepository.Add(formData.Temperature);
            QuestionRepository.Add(formData.HeartRate);
            QuestionRepository.Add(formData.BloodPressureSystolic);
            QuestionRepository.Add(formData.BloodPressureDiastolic);
            return(formData);
        }
        public void VitalsFormDataToViewModel_FullData()
        {
            //Arrange
            var vFormData = new VitalsFormData {
                Id   = 2,
                Form =
                    new Form {
                    Id        = 12,
                    Caption   = "Form12",
                    FormState = FormState.Completed,
                    Visit     =
                        new Visit {
                        Caption = "Visit12", Patient = new Patient {
                            PatientNumber = 120
                        }
                    }
                },
                ActualTime =
                    new Question {
                    Id       = 2,
                    DataType = QuestionDataType.Date,
                    Value    =
                        new DateTime(2012, 1, 1, 10, 11, 12).ToString(
                            CultureInfo.InvariantCulture)
                },
                Height = new Question {
                    Id = 3, DataType = QuestionDataType.Number, Value = "177"
                },
                Weight = new Question {
                    Id = 4, DataType = QuestionDataType.Number, Value = "90"
                },
                Temperature =
                    new Question {
                    Id       = 5,
                    DataType = QuestionDataType.Number,
                    Value    = (36.6m).ToString(CultureInfo.InvariantCulture)
                },
                HeartRate = new Question {
                    Id = 6, DataType = QuestionDataType.Integer, Value = "66"
                },
                BloodPressureSystolic =
                    new Question {
                    Id = 7, DataType = QuestionDataType.String, Value = "120"
                },
                BloodPressureDiastolic =
                    new Question {
                    Id = 8, DataType = QuestionDataType.String, Value = "70"
                }
            };
            //Act
            var vitals = formController.MapVitalsFormDataToViewModel(vFormData);

            //Assert
            Assert.That(vitals.FormId, Is.EqualTo(12));
            Assert.That(vitals.FormCaption, Is.EqualTo("Form12"));
            Assert.That(vitals.IsCompleted, Is.True);
            Assert.That(vitals.VisitName, Is.EqualTo("Visit12"));
            Assert.That(vitals.PatientNumber, Is.EqualTo(120));
            Assert.That(vitals.Id, Is.EqualTo(2));
            Assert.That(vitals.ActualTime, Is.Not.Null);
            Assert.That(vitals.ActualTime.Value.ToLongTimeString(),
                        Is.EqualTo(new DateTime(1980, 1, 1, 10, 11, 12).ToLongTimeString()));
            Assert.That(vitals.Height, Is.EqualTo(177));
            Assert.That(vitals.Weight, Is.EqualTo(90));
            Assert.That(vitals.Temperature, Is.EqualTo(36.6m));
            Assert.That(vitals.HeartRate, Is.EqualTo(66));
            Assert.That(vitals.BloodPressureSystolic, Is.EqualTo("120"));
            Assert.That(vitals.BloodPressureDiastolic, Is.EqualTo("70"));


            Assert.That(vitals.ActualTimeQuestionId, Is.EqualTo(vFormData.ActualTime.Id));
            Assert.That(vitals.HeightQuestionId, Is.EqualTo(vFormData.Height.Id));
            Assert.That(vitals.WeightQuestionId, Is.EqualTo(vFormData.Weight.Id));
            Assert.That(vitals.TemperatureQuestionId, Is.EqualTo(vFormData.Temperature.Id));
            Assert.That(vitals.HeartRateQuestionId, Is.EqualTo(vFormData.HeartRate.Id));
            Assert.That(vitals.BloodPressureSystolicQuestionId, Is.EqualTo(vFormData.BloodPressureSystolic.Id));
            Assert.That(vitals.BloodPressureDiastolicQuestionId, Is.EqualTo(vFormData.BloodPressureDiastolic.Id));
        }
        public void MappingTest()
        {
            //Arrange
            var dataStorage = new Mock <IDataStorage>();
            var entity      = new VitalsFormData()
            {
                Id         = 1,
                ActualTime = new Question {
                    Id = 2, Value = "2"
                },
                HeartRate = new Question {
                    Id = 3, Value = "3"
                },
                Height = new Question {
                    Id = 4, Value = "4"
                },
                Weight = new Question {
                    Id = 5, Value = "5"
                },
                Temperature = new Question {
                    Id = 6, Value = "6"
                },
                BloodPressureDiastolic = new Question {
                    Id = 7, Value = "7"
                },
                BloodPressureSystolic = new Question {
                    Id = 8, Value = "8"
                }
            };
            var updatedEntity = new VitalsFormData()
            {
                Id         = 1,
                ActualTime = new Question {
                    Id = 3, Value = "3"
                },
                HeartRate = new Question {
                    Id = 4, Value = "4"
                },
                Height = new Question {
                    Id = 5, Value = "5"
                },
                Weight = new Question {
                    Id = 6, Value = "6"
                },
                Temperature = new Question {
                    Id = 7, Value = "7"
                },
                BloodPressureDiastolic = new Question {
                    Id = 8, Value = "8"
                },
                BloodPressureSystolic = new Question {
                    Id = 9, Value = "9"
                }
            };
            var repository = new VitalsFormDataRepository(dataStorage.Object);

            dataStorage.Setup(ds => ds.GetData <VitalsFormData>()).Returns(new List <VitalsFormData> {
                entity
            });
            //Act
            repository.Edit(updatedEntity);
            //Assert
            //Values are equal
            Assert.That(entity.ActualTime.Value, Is.EqualTo(updatedEntity.ActualTime.Value));
            Assert.That(entity.HeartRate.Value, Is.EqualTo(updatedEntity.HeartRate.Value));
            Assert.That(entity.Height.Value, Is.EqualTo(updatedEntity.Height.Value));
            Assert.That(entity.Weight.Value, Is.EqualTo(updatedEntity.Weight.Value));
            Assert.That(entity.Temperature.Value, Is.EqualTo(updatedEntity.Temperature.Value));
            Assert.That(entity.BloodPressureDiastolic.Value, Is.EqualTo(updatedEntity.BloodPressureDiastolic.Value));
            Assert.That(entity.BloodPressureSystolic.Value, Is.EqualTo(updatedEntity.BloodPressureSystolic.Value));

            //Objects are not equal
            Assert.That(entity.ActualTime, Is.Not.EqualTo(updatedEntity.ActualTime));
            Assert.That(entity.HeartRate, Is.Not.EqualTo(updatedEntity.HeartRate));
            Assert.That(entity.Height, Is.Not.EqualTo(updatedEntity.Height));
            Assert.That(entity.Weight, Is.Not.EqualTo(updatedEntity.Weight));
            Assert.That(entity.Temperature, Is.Not.EqualTo(updatedEntity.Temperature));
            Assert.That(entity.BloodPressureDiastolic, Is.Not.EqualTo(updatedEntity.BloodPressureDiastolic));
            Assert.That(entity.BloodPressureSystolic, Is.Not.EqualTo(updatedEntity.BloodPressureSystolic));
        }