[Test]
public void testMeasurementSupervisor_patientAndDevice_loadsWarning(){
Mock<Person>patient = new Mock<Person>(); // Self Contained
Mock<Device>heartRateMonitor = new Mock<HeartRateMonitor>(); // Fast
patient.Setup(p => p.isMale()).Returns(() => true); // Precise
heartRateMonitor.Setup(hr => hr.heartRateOver5Minutes()).Returns(() => MAX_MALE_HEARTRATE + 10);
bool sexDinstinction = loadSexDistinctionSettings(); // Repeatable
MeasumentSupervisor ms = new MeasumentSupervisor<HeartRateMonitor>(sexDinstinction, MAX_MAKE_HEARTRATE); // Resilient
AnalisisResult analisysResult = ms.analize(patient, heartRateMonitor);
Assert.isNotNull(analisysResult);
if (sexDinstinction) {
Assert.isTrue(analisysResult.Critical); // Sensitive
} else {
Assert.isTrue(analisysResult.Warning); // Specific
}
}