public void ShouldInsertTests() { // Given var db = new DataBaseMicrosoft(DataBasesTypes.MicrosoftAccess, TestHelper.CreateTempFile()); var test = new Test("Пробный Тест", 70); var questions = new[] { new Question("Вопрос 1"), new Question("Вопрос 2") }; var expected = new[] { new Test("Первый тест", 100), new Test("Пробный Тест", 70) }; // When test.SetQuestions(questions); test.SetComponent(new Component("", 1)); questions[0].SetAssessments(new Assessments()); questions[1].SetAssessments(new Assessments()); var status = db.ExecuteCommand(Parameters.Insert, test); var actual = db.GetElements<Test>(); db.FillElement(actual[1]); TestHelper.DeleteTemp(); // Then Assert.AreEqual(0, status.ExitCode); Assert.IsNull(status.ErrorMessage); Assert.AreEqual(expected.Length, actual.Length); Assert.IsInstanceOf<Test>(actual[0]); CollectionAssert.AreEqual(expected, actual); CollectionAssert.AreEqual(questions, actual[1].Questions); }
private void btnAddTest_Click(object sender, EventArgs e) { if (TestName == "") { MessageBox.Show("Не введен заголовок теста", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (_questions.Count == 0) { MessageBox.Show("Не введено ни одного ворпоса", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int maxAssessment; try { maxAssessment = MaxAssessment; } catch { MessageBox.Show("Неверный формат строки в поле \"Максимальный балл за вопрос\"", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var test = new Test(TestName, maxAssessment); try { foreach (var question in _questions) { question.SetAssessments(_assessments[question.Text].GetAssessments(_selectedComponent)); } } catch (Exception ex) { var exceptionMessage = ex.InnerException?.Message ?? ex.Message; MessageBox.Show(exceptionMessage, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } test.SetQuestions(_questions.ToArray()); test.SetComponent(_selectedComponent); var status = _db.ExecuteCommand(Parameters.Insert, test); if (status.ExitCode == 0) { MessageBox.Show("Операция выполнена успешно", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(status.ErrorMessage, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } Close(); }