public void Not_fail_if_intro_is_missing()
        {
            using (var stream = new FileStream("Resources/problem_destinations.xml", FileMode.Open))
            {
                var parser = new DestinationParser(stream);
                var destination = parser.ReadAll().FirstOrDefault();

                Assert.That(destination, Has.Property("IntroductionOverview").Null);
            }
        }
        public void Generate_introductory_info_for_a_destination()
        {
            using (var stream = new FileStream("Resources/sample_destinations.xml", FileMode.Open))
            {
                var parser = new DestinationParser(stream);
                var destination = parser.ReadAll().FirstOrDefault();

                Assert.That(destination, Has.Property("IntroductionOverview").ContainsSubstring("How do you capture the essence of Africa on paper without using up every cliché in the book?"));
            }
        }
        public void Provide_info_for_each_destination_in_the_file()
        {
            using (var stream = new FileStream("Resources/sample_destinations.xml", FileMode.Open))
            {
                var parser = new DestinationParser(stream);
                var destinations = parser.ReadAll().ToList();

                Assert.That(destinations, Has.Count.EqualTo(24));
                Assert.That(destinations, Has.All.With.Property("Title").Not.Null);
            }
        }
        public void Not_fail_if_destination_attributes_are_missing()
        {
            using(var stream = new FileStream("Resources/problem_destinations.xml", FileMode.Open))
            {
                var parser = new DestinationParser(stream);
                var destination = parser.ReadAll().FirstOrDefault();

                Assert.That(destination, Has.Property("AtlasId").Null);
                Assert.That(destination, Has.Property("AssetId").Null);
                Assert.That(destination, Has.Property("Title").Null);
                Assert.That(destination, Has.Property("TitleAscii").Null);
            }
        }
        public void Generate_destination_attribute_info_for_a_destination_in_the_file()
        {
            using(var stream = new FileStream("Resources/sample_destinations.xml", FileMode.Open))
            {
                var parser = new DestinationParser(stream);
                var destination = parser.ReadAll().FirstOrDefault();

                Assert.That(destination, Has.Property("AtlasId").EqualTo("355064"));
                Assert.That(destination, Has.Property("AssetId").EqualTo("22614-4"));
                Assert.That(destination, Has.Property("Title").EqualTo("Africa"));
                Assert.That(destination, Has.Property("TitleAscii").EqualTo("Africa"));
            }
        }