public void TestMinDt() { int[] testmass = new int[] { 100, 15, 12, 10, 20, 101 }; var i = FindDT.FindMinDt(testmass); Assert.AreEqual(4, i); }
public void TestNull() { int[] testmass = new int[] { 0, 1 }; var i = FindDT.FindMinDt(testmass); Assert.AreEqual(0, i); }
public void mprAdd(DetectionResult a, AnalysisResult Arezult) { if (a.Veroyat >= 0.50) // Рассматриваем к работе методы с вероятностью обнаружения > 50% { All.Add(a); // Добавим в список результат работы метода All.Sort((x, y) => x.Coord.CompareTo(y.Coord)); // Сортировка результатов по координатам int[] Coord = new int[All.Count]; for (int i = 0; i < All.Count; i++) // Массив координат, вытащим из списка координаты методов { // массив координат отсортированный Coord[i] = All[i].Coord; } int index = 0; index = FindDT.FindMinDt(Coord); // Найдем минимальную разницу между 2-мя методами по координатам // Считаем что 2 метода не могли ошибиться Arezult.Rezults[0] = new DetectionResult(); Arezult.Rezults[0].NumberofMethod = All[index].NumberofMethod; Arezult.Rezults[0].TimeofDetect = All[index].TimeofDetect; Arezult.Rezults[0].Rashod = All[index].Rashod; Arezult.Rezults[0].Coord = All[index].Coord; if (All.Count > 1) // После первого исполнения тут будет только 1 результат работы метода, потому суда не зайдем { Arezult.Rezults[1] = new DetectionResult(); Arezult.Rezults[1].NumberofMethod = All[index + 1].NumberofMethod; Arezult.Rezults[1].TimeofDetect = All[index + 1].TimeofDetect; Arezult.Rezults[1].Rashod = All[index + 1].Rashod; Arezult.Rezults[1].Coord = All[index + 1].Coord; } } }