public void Compute_Success() { //Arrange //Устанавливаем сетку 3x3 с единичными начальными и граничными условиями //1 0 1 //1 0 1 //1 1 1 var net = new MathNet2(2, 2, 1, 1); //Начальные и граничные условия условия for (var i = 0; i <= net.Width; i++) { net.Set(i, 0, 1); net.Set(0, i, 1); net.Set(net.Width, i, 1); } double Func(double x, double t) => x + t * 10; var method = new ExplicitMethod(Func); //Act method.Compute(net); //Assert Assert.Equal(2, net.Get(1, 1)); Assert.Equal(11, net.Get(1, 2)); }
private void button1_Click(object sender, EventArgs e) { int n = Convert.ToInt32(textBox1.Text); int m = Convert.ToInt32(textBox2.Text); int s = Convert.ToInt32(textBox3.Text); if (otherSeries == true) { chart1.Series["1"].Points.Clear(); chart1.Series["2"].Points.Clear(); chart1.Series["3"].Points.Clear(); chart1.Series["4"].Points.Clear(); chart1.Series["5"].Points.Clear(); chart1.Series["6"].Points.Clear(); chart1.Series["7"].Points.Clear(); chart1.Series["8"].Points.Clear(); chart1.Series["9"].Points.Clear(); chart1.Series["10"].Points.Clear(); } ThermalCondEq eq = new TestTask(); if (radioButton4.Checked == true) { eq = new TestTask2(); } SolvingThermalCondEq task = new ExplicitMethod(eq, n, m);; if (radioButton2.Checked == true) { task = new ImplicitMethod(eq, n, m); } if (radioButton1.Checked == true) { if (task.Tgrid.h >= task.Xgrid.h * task.Xgrid.h / 2.0) { MessageBox.Show("Error!"); return; } } label5.Text = "k = " + task.Tgrid.h; label6.Text = "h = " + task.Xgrid.h; bool b = task.convergence(); label4.Text = "Error = " + task.Norma(); label8.Text = "h^2+k = " + (task.Xgrid.h * task.Xgrid.h + task.Tgrid.h).ToString(); chart1.ChartAreas[0].AxisX.Minimum = 0; chart1.ChartAreas[0].AxisX.Maximum = 1; chart1.ChartAreas[0].AxisX.Interval = 0.2; chart1.Series[0].Points.Clear(); chart1.Series[1].Points.Clear(); for (int i = 0; i <= n; i++) { chart1.Series[1].Points.AddXY(task.Xgrid.points[i], eq.analiticRes(task.Xgrid.points[i], task.Tgrid.points[s])); chart1.Series[0].Points.AddXY(task.Xgrid.points[i], task.result[i, s]); } int tableI = Convert.ToInt32(textBox4.Text); int tableJ = Convert.ToInt32(textBox5.Text); dataGridView1.ColumnCount = n + 1; dataGridView1.RowCount = tableJ - tableI + 1; for (int i = 0; i < dataGridView1.RowCount; i++) { for (int j = 0; j < dataGridView1.ColumnCount; j++) { dataGridView1[j, i].Value = task.result[j, tableI + i]; } } }