Example #1
0
        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);
        }
Example #2
0
        public static JObject GetTestDynamicJsonObject()
        {
            var jsonText = BDTestJsonHelper.GetTestJsonData();

            return(JObject.Load(new JsonTextReader(new StringReader(jsonText))));
        }
Example #3
0
        public void WriteJsonTestData()
        {
            var jsonData = BDTestJsonHelper.GetTestJsonData();

            File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), $"JsonData-{Guid.NewGuid():N}.json"), jsonData);
        }