protected virtual XElement CreateXTestCase() { Debug.Assert(TestContext != null, "Can't create a test case w/o a context. Use a default context instance."); // Create the base string testCaseName = UnitTestsUtil.GetUnitTestCaseDisplayName(Test.OwningTestMethod, TestArgs); XElement xtestCase = new XElement(XTestCaseNames.TestCase , new XAttribute(XTestCaseNames.ATestTypeName, TestTypeName) , new XAttribute(XNames.AName, testCaseName) , new XAttribute(XTestCaseNames.AContextName, TestContext.Name) ); // Add the test source info xtestCase.Add(Test.TestSource.ToXTestCaseSource()); // Add the test arguments if (TestArgs != null) { xtestCase.Add(new XElement(TestArgs.DataElement)); } // ** Add expected result element string expResultKey = TestContext.ExpectedResultKey; ExpectedTestResultEntity expResult = Test.OwningTestMethod.GetExpectedResult(expResultKey); if (expResult != null) { xtestCase.Add(new XElement(expResult.DataElement)); } // Add expectedRegressionTestResult if (EnableRegressionTestAsserts) { ExpectedRegressionTestResultEntity expRegressionResult = Test.TestSource.GetExpectedRegressionTestResult(); if (expRegressionResult != null) { xtestCase.Add(new XElement(expRegressionResult.DataElement)); } } return(xtestCase); }
internal TestResultEntity ProcessExpectedResultAssertions(TestResultEntity testResult) { ExpectedTestResultEntity expResult = metadata.TestCase.ExpectedTestResult; if (expResult != null) { XElement xtestResults = testResult.DataElement; try { // First, do the common result assertions // If the expResult is specified, the ResultType is required by the xml schema Assert.AreEqual(expResult.ResultType, testResult.ResultType, "Result.ResultType"); if (expResult.Message != null) { Assert.AreEqual(expResult.Message, testResult.Message, "Result.Message"); } // If we got here, than all the assertions passed xtestResults.SetAttributeValue(XTestResultNames.ATestResultType, TestResultType.Passed); xtestResults.SetElementValue(XTestResultNames.ResultMessage, "Passed expected result assertions."); } catch (AssertFailedException ex) { xtestResults.SetAttributeValue(XTestResultNames.ATestResultType, TestResultType.ResultAssertFailure); xtestResults.SetElementValue(XTestResultNames.ResultMessage, ex.Message); } catch (AssertInconclusiveException ex) { xtestResults.SetAttributeValue(XTestResultNames.ATestResultType, TestResultType.ResultInconclusive); xtestResults.SetElementValue(XTestResultNames.ResultMessage, ex.Message); } catch (Exception ex) { xtestResults.SetAttributeValue(XTestResultNames.ATestResultType, TestResultType.Error); xtestResults.SetElementValue(XTestResultNames.ResultMessage, "Expected Result Assertion: " + ex.Message); } } return(testResult); }