public void Test2() { Assert.Equal(0, SumClass.Sum(testList2)); Assert.Equal(7, SumClass.Sum(testList3)); Assert.Equal(28, SumClass.Sum(testList4)); Assert.Equal(0, SumClass.Sum(testList5)); }
public void SumTestNoEle() { var sumClass = new SumClass(); var emptyList = new List <int>(); Assert.AreEqual(0, sumClass.SumMyNms(emptyList)); }
public void PrintNullTest() { SumClass summ = new SumClass(); int output = -1; Assert.AreEqual(output, summ.Summy(null)); }
public static void Point_N(ZArrayDescriptor arr, int N1_sin, int N2_sin, int scale, Graphics g) { double max = SumClass.getMax(arr); double c4 = max / 4; double c2 = max / 2; double c3 = c4 + c2; for (int i = 0; i < N2_sin; i++) { for (int j = 0; j < N1_sin; j++) { int x = i * scale; int y = j * scale; if (arr.array[i, j] == 0) { continue; } if (arr.array[i, j] < c4) { g.FillRectangle(new SolidBrush(Color.FromArgb(0, 0, 0)), x, y, 1, 1); continue; } if (arr.array[i, j] < c2) { g.FillRectangle(new SolidBrush(Color.FromArgb(0, 250, 0)), x, y, 1, 1); continue; } if (arr.array[i, j] < c3) { g.FillRectangle(new SolidBrush(Color.FromArgb(250, 150, 0)), x, y, 1, 1); continue; } } } }
public void SumTest() { // Prepare test case double[] numbers = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 }; double summedExpected = 15.0; double summed = SumClass.Sum(numbers); Assert.AreEqual(summedExpected, summed); }
public void SumTestNull() { var sumClass = new SumClass(); var nullList = new List <int>(); nullList = null; Assert.AreEqual(null, sumClass.SumMyNms(nullList)); }
public void SumTestOneEle() { var sumClass = new SumClass(); var oneEleList = new List <int>(); oneEleList.Add(8); Assert.AreEqual(8, sumClass.SumMyNms(oneEleList)); }
public void PrintEmptyListTest() { SumClass summ = new SumClass(); var listie = new List <int> { }; int output = 0; Assert.AreEqual(output, summ.Summy(listie)); }
public void PrintOneNumberTest() { SumClass summ = new SumClass(); var listie = new List <int> { 8 }; int output = 8; Assert.AreEqual(output, summ.Summy(listie)); }
public void SumTest() { var sumClass = new SumClass { Add1 = 6, Add2 = 3 }; Assert.AreEqual(9, sumClass.Result); }
public void PrintSumTest() { SumClass summ = new SumClass(); var listie = new List <int> { 3, 3, 4, 5, 6, 6 }; int output = 27; Assert.AreEqual(output, summ.Summy(listie)); }
// Рисование таблицы чисел по двум массивам k1 и k2 с сдвигом public static void Tabl_int(ZArrayDescriptor[] zArrayPicture, PictureBox pictureBox1, int k1, int k2, int N1_sin, int N2_sin, int scale, int d, int sdvig) { China(N1_sin, N2_sin); //MessageBox.Show(" M1 " + M1 + " N1 " + N1 + " M2 " + M2 + " N2 " + N2); if (zArrayPicture[k1] == null) { MessageBox.Show("zArrayPicture[k1] == NULL Unrup.Tabl_int "); return; } if (zArrayPicture[k2] == null) { MessageBox.Show("zArrayPicture[k2] == NULL Unrup.Tabl_int "); return; } int nx = zArrayPicture[k1].width; int ny = zArrayPicture[k1].height; //ZArrayDescriptor res = new ZArrayDescriptor(N1_sin, N2_sin); double max1 = SumClass.getMax(zArrayPicture[k1]); double min1 = SumClass.getMin(zArrayPicture[k1]); double max2 = SumClass.getMax(zArrayPicture[k2]); double min2 = SumClass.getMin(zArrayPicture[k2]); // China(N1_sin, N2_sin); Graphics g = Graphics.FromHwnd(pictureBox1.Handle); g.Clear(Color.White); ZArrayDescriptor arr = new ZArrayDescriptor(N2_sin, N1_sin); int M = M1 * N1; int N = M2 * N2; int MN = N1_sin * N2_sin; for (int i = 0; i < nx; i++) { for (int j = 0; j < ny; j++) { //double a = res.array[i, j]; int x = (int)((zArrayPicture[k1].array[i, j] - min1) * (N2_sin - 1) / (max1 - min1)); int b2 = sdv(x, sdvig, N2_sin); int y = (int)((zArrayPicture[k2].array[i, j] - min1) * (N1_sin - 1) / (max1 - min1)); int X0 = (M * b2 + N * y) % MN; //if (X0 < d ) Point(b2 * scale, y * scale, g); if (X0 < d) { arr.array[b2, y] += 1; } } } Point_N(arr, N1_sin, N2_sin, scale, g); }
public void SumTestSumOfList() { var sumClass = new SumClass(); var numList = new List <int>(); numList.Add(15); numList.Add(15); numList.Add(5); numList.Add(18); Assert.AreEqual(53, sumClass.SumMyNms(numList)); }
public void TestCase() { int sum = 8; var sumNums = new SumClass(); List <int> list = new List <int>() { 1, 3, 4 }; int output = sumNums.GetSum(list); Assert.AreEqual(sum, output); }
public FirstPageViewModel() { _data = new SumClass { Add1 = 0, Add2 = 0 }; _add1 = _data.Add1.ToString(); _add2 = _data.Add2.ToString(); Increase1Command = new DelegateCommand(Increase1); Increase2Command = new DelegateCommand(Increase2); Decrease1Command = new DelegateCommand(Decrease1); Decrease2Command = new DelegateCommand(Decrease2); }
public void AddTest() { // Prepare test case double[] aArray = new double[] { 0.0, 1.0, 2.0, -1.0, 10000000000.0 }; double[] bArray = new double[] { 0.0, 2.0, -20.0, -2.0, -10000000000.0 }; double[] addedExpectedArray = new double[] { 0.0, 3.0, -18.0, -3.0, 0.0 }; // Run test for (int i = 0; i < 5; i++) { double a = aArray[i]; double b = bArray[i]; double addedExpected = addedExpectedArray[i]; double added = SumClass.Add(a, b); // Make sure that the results are expected values Assert.AreEqual(addedExpected, added); } }
public static void Diapazon1(ZArrayDescriptor[] zArrayPicture, int regImage, int imax) { int nx = zArrayPicture[regImage].width; int ny = zArrayPicture[regImage].height; //MessageBox.Show("max= " + max + "min= "+min); double max = SumClass.getMax(zArrayPicture[regImage]); double min = SumClass.getMin(zArrayPicture[regImage]); for (int i = 0; i < nx; i++) { for (int j = 0; j < ny; j++) { int c = (int)((zArrayPicture[regImage].array[i, j] - min) * imax / (max - min)); zArrayPicture[regImage].array[i, j] = c; } } }
static void Main(string[] args) { SumClass sm = new SumClass { X = 25, Y = 10 }; Multiply my = new Multiply { X = 5, Y = 2 }; CalculationClass calc = new CalculationClass(); calc.Calculate(sm); calc.Calculate(my); }
protected void AddNumber(object Sender, EventArgs E) { int Num1, Num2; //int.TryParse(txtFirstNum.Value, out Num1); int.TryParse(Text1.Value, out Num1); int.TryParse(Text2.Value, out Num2); // creating object of MyService proxy class var ObjMyService = new MyServiceSoapClient(); // Invoke service method through service proxy divSum.InnerHtml = ObjMyService.SumOfNums(Num1, Num2).ToString(); var ObjSumClass = new SumClass { First = Num1, Second = Num2 }; var ObjSerializer = new JavaScriptSerializer(); var JsonStr = ObjSerializer.Serialize(ObjSumClass); divSumThroughJson.InnerHtml = ObjMyService.SumOfNumsVTwo(JsonStr).Sum.ToString(); //ObjMyService.GetSumThroughObject(JsonStr).Sum.ToString(); //ObjMyServiceProxy.GetSumThroughObject(JsonStr).Sum.ToString(); }
public SumClass(int depth) { _depth = depth; _next = depth < MaxDepth ? new SumClass(depth + 1) : null; }
public static void Vizual_Circle(ZArrayDescriptor zArrayDescriptor, PictureBox pictureBox01, int x0, int y0, int radius) { // c1 = ImageProcessor.getPixel(i, j, data1); // c1 = bmp1.GetPixel(i, j); // ImageProcessor.setPixel(data5, i, j, Color.FromArgb(r, r, r)); // bmp2.SetPixel(j, i, c1); // bmp5.UnlockBits(data5); if (pictureBox01 == null) { MessageBox.Show("pictureBox01 == null"); return; } if (zArrayDescriptor == null) { MessageBox.Show("ZArrayDescriptor array == null"); return; } int width = zArrayDescriptor.width; int height = zArrayDescriptor.height; if (width == 0 || height == 0) { MessageBox.Show("width == 0 || height == 0"); return; } Bitmap bmp2 = new Bitmap(width, height); BitmapData data2 = ImageProcessor.getBitmapData(bmp2); double max = SumClass.getMax(zArrayDescriptor); double min = SumClass.getMin(zArrayDescriptor); //MessageBox.Show("max = " + Convert.ToString(max) + " min = " + Convert.ToString(min)); if (Math.Abs(max - min) < 0.0000001) { // MessageBox.Show("max = min"); int c = 0; if (max < 255 && max > 0.0) { c = Convert.ToInt32(max); } if (max > 255) { c = 255; } if (max < 0) { c = 0; } for (int j = 0; j < width; j++) { for (int i = 0; i < height; i++) { Color c1 = Color.FromArgb(c, c, c); ImageProcessor.setPixel(data2, j, i, c1); } } pictureBox01.Image = bmp2; bmp2.UnlockBits(data2); return; } if (max != min) { double mxmn = 255.0 / (max - min); for (int j = 0; j < width; j++) { for (int i = 0; i < height; i++) { int c = Convert.ToInt32((zArrayDescriptor.array[j, i] - min) * mxmn); Color c1 = Color.FromArgb(c, c, c); ImageProcessor.setPixel(data2, j, i, c1); } } Color c2 = Color.FromArgb(255, 128, 255); DrawCircle(data2, x0, y0, radius, c2); // Рисование окружности цветом Fill_Circle_Outside(zArrayDescriptor, data2, width, height, c2); // Заполнение цветом снаружи pictureBox01.Image = bmp2; bmp2.UnlockBits(data2); return; } }
//--------------------------------------------------------------------------------------------------------------------- // // Из ZArrayDescriptor.array в PictureBox // public static void Vizual_Picture(ZArrayDescriptor zArrayDescriptor, PictureBox pictureBox01) { // c1 = ImageProcessor.getPixel(i, j, data1); // c1 = bmp1.GetPixel(i, j); // ImageProcessor.setPixel(data5, i, j, Color.FromArgb(r, r, r)); // bmp2.SetPixel(j, i, c1); // bmp5.UnlockBits(data5); if (pictureBox01 == null) { MessageBox.Show("Vizual_Picture: pictureBox01 == null"); return; } if (zArrayDescriptor == null) { MessageBox.Show("Vizual_Picture: ZArrayDescriptor array == null"); return; } int width = zArrayDescriptor.width; int height = zArrayDescriptor.height; if (width == 0 || height == 0) { MessageBox.Show("Vizual_Picture: width == 0 || height == 0"); return; } Bitmap bmp2 = new Bitmap(width, height); BitmapData data2 = ImageProcessor.getBitmapData(bmp2); double max = SumClass.getMax(zArrayDescriptor); double min = SumClass.getMin(zArrayDescriptor); //MessageBox.Show("max = " + Convert.ToString(max) + " min = " + Convert.ToString(min)); if (Math.Abs(max - min) < 0.0000001) { // MessageBox.Show("max = min"); int c = 0; if (max < 255 && max > 0.0) { c = Convert.ToInt32(max); } if (max > 255) { c = 255; } if (max < 0) { c = 0; } for (int j = 0; j < width; j++) { for (int i = 0; i < height; i++) { Color c1 = Color.FromArgb(c, c, c); ImageProcessor.setPixel(data2, j, i, c1); } } pictureBox01.Image = bmp2; bmp2.UnlockBits(data2); return; } if (max != min) { double mxmn = 255.0 / (max - min); for (int j = 0; j < width; j++) { for (int i = 0; i < height; i++) { int c; try { c = Convert.ToInt32((zArrayDescriptor.array[j, i] - min) * mxmn); } catch (System.OverflowException) { c = 0; } Color c1 = Color.FromArgb(c, c, c); ImageProcessor.setPixel(data2, j, i, c1); } } pictureBox01.Image = bmp2; bmp2.UnlockBits(data2); return; } }
/// <summary> /// Автоматическое определение клина /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button15_Click(object sender, EventArgs e) { int nx = 3096; int ny = 2160; int nx1 = nx + dx * 2; // Размер для изображения с добавленными полосами int kv = 16; // Число градаций Form1.zArrayDescriptor[0] = Model_Sinus.Intensity1(255, nx, ny, dx, 1); // Идеальная интенсивностсть => 1 VisualRegImage(0); TakePhoto12(); VisualRegImage(1); DialogResult dialogResult = MessageBox.Show("Заданы границы X0, X1, X2, X3 ?", "Ограничение по размеру", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.No) { return; } Form1.Coords[] X = MainForm.GetCoordinates(); Form1.zArrayDescriptor[6] = File_Change_Size.Change_rectangle(Form1.zArrayDescriptor[1], X); // Ограничение по размеру 2 => 7 Form1.zArrayDescriptor[6] = SumClass.Sum_zArrayY_ALL(Form1.zArrayDescriptor[6]); // Суммирование по Y 7 => 7 VisualRegImage(6); int nx2 = Form1.zArrayDescriptor[6].width; // Размер массива после ограничения int ny2 = Form1.zArrayDescriptor[6].height; int N_Line = ny2 / 2; // Линия по центральной строке //---------------------------------------------------------------------------------------------- Идеальный клин без ввода с новыми размерами Form1.zArrayDescriptor[0] = Model_Sinus.Intensity1(255, nx2, ny2, dx, 1); Form1.zArrayDescriptor[1] = Minus100(Form1.zArrayDescriptor[0], 100); VisualRegImage(1); double[] am_Clin_Ideal = new double[nx2]; // Идеальный клин от 0 до 255 for (int i = 0; i < nx2; i++) { am_Clin_Ideal[i] = Form1.zArrayDescriptor[1].array[i, N_Line]; } double[] am_Clin = new double[nx2]; // Отклик от идеального клина от 0 до 255 for (int i = 0; i < nx2; i++) { am_Clin[i] = Form1.zArrayDescriptor[6].array[i, N_Line]; } //---------------------------------------------------------------------------------------------- Черно белые полосы => 0 Form1.zArrayDescriptor[0] = BW_Line(nx, ny, kv); // Полосы с kv градациями VisualRegImage(0); TakePhoto12(); //---------------------------- Фото => 1 MessageBox.Show("Ч/Б полосы введены"); Form1.zArrayDescriptor[3] = File_Change_Size.Change_rectangle(Form1.zArrayDescriptor[1], X); //----------------- Ограничение по размеру => 2 VisualRegImage(3); Form1.zArrayDescriptor[3] = SumClass.Sum_zArrayY_ALL(Form1.zArrayDescriptor[3]); Form1.zArrayDescriptor[4] = BW_Line_255(Form1.zArrayDescriptor[3], 210); // --------------Выше порога 255 ниже 0 VisualRegImage(4); double[] am_BW = BW_Num(Form1.zArrayDescriptor[4], N_Line); // размер новый после прямоугольного ограничения //---------------------------------------------------------------------------------------------- Определение нового клина double[] cl1 = NewClin(am_Clin, am_BW, am_Clin_Ideal); //----------------------------------------------------------------------------------------------Отображение нового клина ZArrayDescriptor cmpl = new ZArrayDescriptor(nx1, ny); double[] am = Clin(cl1, kv, nx); for (int i = 0; i < nx; i++) { for (int j = 0; j < ny; j++) { cmpl.array[i + dx, j] = am[i]; } // ----------------- Клин в рабочий массив } cmpl = Model_Sinus.Intens(255, 0, dx, cmpl); // Белая и черная полоса по краям Form1.zArrayDescriptor[7] = cmpl; // новый клин в 7 массив VisualRegImage(7); for (int i = 0; i < 16; i++) { cl[i] = cl1[i]; } }
//------------------------------------------------------------------------------------------------------------------- /// <summary> /// Ввод клина с камеры и обработка с усреднением /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button12_Click(object sender, EventArgs e) { int nx = 3996; int ny = 2160; int nx1 = nx + dx * 2; // Размер для изображения с добавленными полосами int kv = 16; // Число градаций // -------------------------------------------------------------------------------------------- Клин => 0 (16 градаций) double[] am = Clin(cl, kv, nx); // Формирование клина ZArrayDescriptor cmpl = new ZArrayDescriptor(nx1, ny); for (int i = 0; i < nx; i++) { for (int j = 0; j < ny; j++) { cmpl.array[i + dx, j] = am[i]; } // ----------------- Клин } cmpl = Model_Sinus.Intens(255, 0, dx, cmpl); // Белая и черная полоса по краям Form1.zArrayDescriptor[0] = cmpl; // Клин в 1 массив VisualRegImage(0); TakePhoto12(); //-------- Фото => 1 DialogResult dialogResult = MessageBox.Show("Заданы границы X0, X1, X2, X3 ?", "Ограничение по размеру", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.No) { return; } Form1.Coords[] X = MainForm.GetCoordinates(); //MessageBox.Show(" X1 - " + Form1.X1 + " Y1 - " + Form1.Y1); //---------------------------------------------------------------------------------------------- Ограничение клина по размеру => 2 Form1.zArrayDescriptor[2] = File_Change_Size.Change_rectangle(Form1.zArrayDescriptor[1], X); VisualRegImage(2); //MessageBox.Show("Ограничение клина по размеру прошло"); int nx2 = Form1.zArrayDescriptor[2].width; // Размер массива после ограничения int ny2 = Form1.zArrayDescriptor[2].height; int N_Line = ny2 / 2; // Полоса по центру //int y1 = File_Change_Size.MinY(X); // Минимальное значение по Y //int y2 = File_Change_Size.MaxY(X); // Максимальное значение по Y Form1.zArrayDescriptor[2] = SumClass.Sum_zArrayY_ALL(Form1.zArrayDescriptor[2]); //------------------------- Усреднение по Y => 2 VisualRegImage(2); //MessageBox.Show("Усреднение по Y прошло"); //---------------------------------------------------------------------------------------------- Черно белые полосы => 0 Form1.zArrayDescriptor[0] = BW_Line(nx, ny, kv); // Полосы с kv градациями VisualRegImage(0); TakePhoto12(); //---------------------------- Фото => 1 MessageBox.Show("Полосы введены"); Form1.zArrayDescriptor[3] = File_Change_Size.Change_rectangle(Form1.zArrayDescriptor[1], X); //----------------- Ограничение по размеру => 2 VisualRegImage(3); //Form1.zArrayDescriptor[3] = SumClass.Sum_zArrayY_ALL(Form1.zArrayDescriptor[3]); Form1.zArrayDescriptor[4] = BW_Line_255(Form1.zArrayDescriptor[3], 210); // --------------Выше порога 255 ниже 0 VisualRegImage(4); double[] am_BW = BW_Num(Form1.zArrayDescriptor[4], N_Line); // размер новый после прямоугольного ограничения //MessageBox.Show("Контраст прошло"); //--------------------------------------------------------------------------------------------- Усреднение по X клина => 6 Form1.zArrayDescriptor[5] = Summ_Y(Form1.zArrayDescriptor[2], Form1.zArrayDescriptor[4]); VisualRegImage(5); }
private void Gr3D() { ns = Convert.ToInt32(textBox1.Text); ZArrayDescriptor zArray3D = new ZArrayDescriptor(nx1, ny1); int[] arr_max = new int[nx1]; int[] arr_tmp = new int[nx1]; int[] arr_tmp_gr = new int[nx1]; //for (int i = 0; i < nx1; i++) //{ // arr_max[i] = 0; //arr_tmp[i] = -1000; // } int ys = 2; int y0 = 250; // Сдвиг снизу для красоты //int ns1 = ns; double max = SumClass.getMax(zArray2D); double min = SumClass.getMin(zArray2D); int k = 0; for (int j = 0; j < ny1; j += ns, k++) { for (int i = 0; i < nx1; i++) { int ix = i - k; if (ix < nx1 && ix > 0) { arr_tmp[i] = (int)((zArray2D.array[ix, j] - min) * 128 / (max - min)) + ys * k; } } for (int i = 0; i < nx1; i++) { if (arr_tmp[i] > arr_max[i]) { arr_max[i] = arr_tmp[i]; } } int x1 = 0; int y1 = (int)(arr_max[0]); for (int i = 1; i < nx1 - 100 + k; i++) { if (i >= nx1) { break; } int x2 = i; int y2 = (int)(arr_max[i]); lineDDA(x1, y1, x2, y2, y0, zArray3D); y1 = y2; x1 = x2; } } Vizual.Vizual_Picture(zArray3D, picture3D); }
public void Test1() { Assert.Equal(28, SumClass.Sum(testList)); }