def test_Formatter_GivenNoImages_ReturnsCorrectFullReply(self):
     expected_reply = (
         'This Craigslist post has been archived so it can continue to be viewed after expiration.\n\n'
         '[original post](http://indianapolis.craigslist.org/bar/d/bears/6451661128.html) | [imgur album](https://imgur.com/a/zzzz1) | [screenshot](https://i.imgur.com/abcd000.jpg)\n\n'
         '> ### Post title ###\n'
         '>\n'
         '> Post description line 1.\n'
         '>\n'
         '> Post description line 2.\n\n'
         '***\n\n'
         '[^github](https://github.com/darricktheprogrammer/reddit-cl-bot) ^| [^send ^message/report](/#)'
     )
     a = deepcopy(self.archive)
     a.images = []
     formatter = bot.PostFormatter()
     self.assertEqual(expected_reply, formatter.format(a))
 def test_Formatter_GivenMultipleImage_FormatsImagesAsQuote(self):
     formatter = bot.PostFormatter()
     text = '> [image 1](https://i.imgur.com/abcd001.jpg) | [image 2](https://i.imgur.com/abcd002.jpg) | [image 3](https://i.imgur.com/abcd003.jpg)'
     self.assertIn(text, formatter.format(self.archive))
 def test_Formatter_GivenNoImages_HasNoTrailingQuoteMarks(self):
     formatter = bot.PostFormatter()
     a = deepcopy(self.archive)
     a.images = []
     self.assertIn('> Post description line 2.\n', formatter.format(a))
     self.assertNotIn('> Post description line 2.\n>', formatter.format(a))
 def test_Formatter_GivenMultiLineAdBody_FormatsAllLinesAsQuote(self):
     formatter = bot.PostFormatter()
     text = '> Post description line 1.\n>\n> Post description line 2.'
     self.assertIn(text, formatter.format(self.archive))
 def test_Formatter_GivenImage_FormatsImagesAsQuote(self):
     formatter = bot.PostFormatter()
     a = deepcopy(self.archive)
     a.images = a.images[:1]
     text = '> [image 1](https://i.imgur.com/abcd001.jpg)'
     self.assertIn(text, formatter.format(a))
 def test_Formatter_GivenAdBody_FormatsAdBodyAsQuote(self):
     formatter = bot.PostFormatter()
     text = '> Post description line 1'
     self.assertIn(text, formatter.format(self.archive))
 def test_Formatter_GivenScreenshot_FormatsScreenshot(self):
     formatter = bot.PostFormatter()
     linktext = '[screenshot](https://i.imgur.com/abcd000.jpg)'
     self.assertIn(linktext, formatter.format(self.archive))
 def test_Formatter_GivenAlbumUrl_FormatsAlbumUrl(self):
     formatter = bot.PostFormatter()
     linktext = '[imgur album](https://imgur.com/a/zzzz1)'
     self.assertIn(linktext, formatter.format(self.archive))
 def test_Formatter_GivenOriginalPost_FormatsOriginalPost(self):
     formatter = bot.PostFormatter()
     linktext = '[original post](http://indianapolis.craigslist.org/bar/d/bears/6451661128.html)'
     self.assertIn(linktext, formatter.format(self.archive))
 def test_Formatter_GivenArchive_FormatsTitleAsQuote(self):
     formatter = bot.PostFormatter()
     self.assertIn('> ### Post title ###', formatter.format(self.archive))