示例#1
0
        public void DemoInputAndResultsJsonTest(TestCaseInput input, TestCaseResult expectedResult)
        {
            // Get actual result
            // In a more realistic test, this might be something like some calls to web services
            TestCaseResult result = new TestCaseResult
            {
                CalculatedValue = input.X + input.Y
            };

            // Saved result file can be dropped in to replace the expected file.
            SaveResult(input, result, TestContext.CurrentContext.Test.Name);

            // Do actual comparison
            Assert.That(result.CalculatedValue, Is.EqualTo(expectedResult.CalculatedValue));
        }
示例#2
0
        private void SaveResult(TestCaseInput input, TestCaseResult result, string name)
        {
            var actualData = new InputAndResultsTestCaseData()
            {
                Categories = TestContext.CurrentContext.Test.Properties["Category"].ToList <string>(),
                TestInput  = input,
                // Ignore can never be true to reach here
                ExpectedResult = result
            };
            var path     = $"{TestContext.CurrentContext.TestDirectory}{Path.DirectorySeparatorChar.ToString()}ActualResults{Path.DirectorySeparatorChar.ToString()}InputAndResults{Path.DirectorySeparatorChar.ToString()}";
            var fileName = $"{path}{Path.DirectorySeparatorChar.ToString()}{name}.json";

            Directory.CreateDirectory(path);
            File.WriteAllText(fileName, JsonConvert.SerializeObject(actualData, Formatting.Indented, new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            }));
        }
示例#3
0
 public void DemoInputAndResultsJsonTest(TestCaseInput input)
 {
     Assert.That(input.X, Is.EqualTo(input.Y));
 }