public void geekListParse_NoComments_EditTimeStamp()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual("1257268282", result.editDateTimestamp);
        }
        public void geekListParse_NoComments_Description()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            string expected = "You've mixed all your Carcassonne expansions together for the massive, every-expansion game.  Now you want to separate them to try a simple mix of no expansions, or only one with the original.  How are you going to tackle this daunting task?  Easy!  Look at the photos in this inventory, and parse the tiles appropriately.  (I recommend focusing on the expansions, and letting the original Carcassonne's 72 tiles remain as the distillate.)";

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(expected, result.description);
        }
        public void geekListParse_NoComments_EditDate()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            DateTime expected = DateTime.Parse("Tue, 03 Nov 2009 17:11:22 +0000");

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(expected, result.editDate);
        }
        public void geekListParse_NoComments_NoCmmentsReturned()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(0, result.comments.Count);
        }
        public void geekListParse_Comments_Username()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(1, result.comments.Count(x => x.username == "rokuroku"));
        }
        public void geekListParse_Comments_PostDate()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            DateTime expected = DateTime.Parse("Thu, 27 May 2010 13:32:48 +0000");

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(expected, result.comments.First(x => x.username == "rokuroku").postDate);
        }
        public void geekListParse_Comments_CommentText()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            string expected = "Why no listing for Cult, Siege and Creativity?";

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(expected, result.comments.First(x => x.username == "rokuroku").commentText);
        }
        public void geekListParse_NoComments_ListItemUserName()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual("rokuroku", result.items.First(x => x.id == 186615).userName);
        }
        public void geekListParse_NoComments_ListItemPostDate()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(new DateTime(2005, 11, 04, 02, 49, 54), result.items.First(x => x.id == 186615).postDate);
        }
        public void geekListParse_NoComments_ListItemBody()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            string expected = "This is a safer version of the body to test.  Wooooo!";

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(expected, result.items.First(x => x.id == 186615).body);
        }
        public void geekListParse_Comments_ListItemComment_Thumbs()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(3, result.items.First(x => x.id == 186614)
                                        .comments.First(x => x.username == "hfiguiere")
                                        .thumbs);
        }
        public void geekListParse_Comments_ListItemComment_PostDate()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            DateTime expected = DateTime.Parse("Mon, 19 Jan 2009 06:16:30 +0000");

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(expected, result.items.First(x => x.id == 186614)
                                        .comments.First(x => x.username == "hfiguiere")
                                        .postDate);
        }
        public void geekListParse_Comments_ListItemComment_CommentText()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            string expected = "On my copy of Inn and Cathedrals, they all have a little symbol (meeple shape), making them easier to segregate them. I wish they were all like that.";

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual(expected, result.items.First(x => x.id == 186614)
                                        .comments.First(x => x.username == "hfiguiere")
                                        .commentText);
        }
        public void geekListParse_NoComments_Username()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual("zefquaavius", result.userName);
        }
        public void geekListParse_NoComments_Title()
        {
            // Arrange
            XDocument testData = XDocument.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, testDataRelativePath));

            IXMLParser parser = new XMLParser();

            // Act
            var result = parser.parseGeekListXML(testData);

            // Assert
            Assert.AreEqual("Segregation in Carcassonne!", result.title);
        }