public void CanDeserializeJsonResultsSuccessfully() { When(() => Console.WriteLine("A persistent json file is written")).WithStepText(() => "I write custom when step text") .Then(() => CustomStep("1", "2")) .BDTest(); var inMemoryScenario = BDTestUtil.GetScenarios().Single(); var json = BDTestJsonHelper.GetTestJsonData(); var jObject = JObject.Load(new JsonTextReader(new StringReader(json))); var scenarios = JsonConvert.DeserializeObject <List <Scenario> >(jObject.GetValue("Scenarios").ToString()); Assert.That(scenarios, Is.Not.Null); Assert.That(scenarios.Count, Is.EqualTo(1)); var deserializedScenario = scenarios.First(); Assert.That(deserializedScenario.Steps[0].StepText, Is.EqualTo("When I write custom when step text")); Assert.That(deserializedScenario.Steps[1].StepText, Is.EqualTo("Then 1 2")); var compareLogic = new CompareLogic { Config = new ComparisonConfig { MaxDifferences = int.MaxValue, // The below are runtime only, and so we don't serialize. MembersToIgnore = { nameof(Scenario.BdTestBaseClass) } } }; var comparisonResult = compareLogic.Compare(inMemoryScenario, deserializedScenario); Assert.That(comparisonResult.AreEqual, Is.True); }
public static JObject GetTestDynamicJsonObject() { var jsonText = BDTestJsonHelper.GetTestJsonData(); return(JObject.Load(new JsonTextReader(new StringReader(jsonText)))); }
public void WriteJsonTestData() { var jsonData = BDTestJsonHelper.GetTestJsonData(); File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), $"JsonData-{Guid.NewGuid():N}.json"), jsonData); }