public void TestfindFirtDiagnosisHaltByQuantiy() { const int quantity = 4; var mockDiagnosisList = ConstraintSystemSolverMock.getInstance().GetDiagnosisSet(); var diagnosisSet = SwitchingDiagnosticEngine.FindDiagnosisHaltByQuantiy(_observations[TestingEnvironment.ObservationIndex], _initialConflictSet, null, quantity); PrintSetList(diagnosisSet, "Diagnosis_" + TestingEnvironment.SystemFile); Assert.IsTrue(mockDiagnosisList.Count < quantity || diagnosisSet.Count >= quantity); }
public void TestFindDiagnosisHaltByFirstDiagnosis() { List <HashSet <int> > mockDiagnosisList = ConstraintSystemSolverMock.getInstance().GetDiagnosisSet(); DiagnosisSet diagnosisSet = SwitchingDiagnosticEngine.FindDiagnosisHaltByFirstDiagnosis(_observations[TestingEnvironment.ObservationIndex], _initialConflictSet, null); PrintSetList(diagnosisSet, "Diagnosis_" + TestingEnvironment.SystemFile); Assert.IsTrue(diagnosisSet.Count >= 1); }
public void TestfindFirtDiagnosisHaltByTime() { const int timeOut = 20 * 60 * 1000; const int epsilon = timeOut / 5; //error margin if timer is called in the begining of the while loop var mockDiagnosisList = ConstraintSystemSolverMock.getInstance().GetDiagnosisSet(); var sw = new Stopwatch(); sw.Start(); var diagnosisSet = SwitchingDiagnosticEngine.FindDiagnosisHaltByTime(_observations[TestingEnvironment.ObservationIndex], _initialConflictSet, null, timeOut); sw.Stop(); PrintSetList(diagnosisSet, "Diagnosis_" + TestingEnvironment.SystemFile); var algorithmFoundAll = diagnosisSet.Count == mockDiagnosisList.Count; Assert.IsTrue(sw.ElapsedMilliseconds <= (timeOut + epsilon) && (algorithmFoundAll || sw.ElapsedMilliseconds >= (timeOut))); }