def METHOD_NAME(self):
    """category synchronization works"""
    self.category.synchronize()
    self.assertEqual(self.category.threads, 0)
    self.assertEqual(self.category.posts, 0)
    thread = self.create_thread()
    hidden = self.create_thread()
    unapproved = self.create_thread()
    self.category.synchronize()
    self.assertEqual(self.category.threads, 3)
    self.assertEqual(self.category.posts, 3)
    self.assertEqual(self.category.last_thread, unapproved)
    unapproved.is_unapproved = True
    unapproved.post_set.update(is_unapproved=True)
    unapproved.save()
    self.category.synchronize()
    self.assertEqual(self.category.threads, 2)
    self.assertEqual(self.category.posts, 2)
    self.assertEqual(self.category.last_thread, hidden)
    hidden.is_hidden = True
    hidden.post_set.update(is_hidden=True)
    hidden.save()
    self.category.synchronize()
    self.assertEqual(self.category.threads, 1)
    self.assertEqual(self.category.posts, 1)
    self.assertEqual(self.category.last_thread, thread)
    unapproved.is_unapproved = False
    unapproved.post_set.update(is_unapproved=False)
    unapproved.save()
    self.category.synchronize()
    self.assertEqual(self.category.threads, 2)
    self.assertEqual(self.category.posts, 2)
    self.assertEqual(self.category.last_thread, unapproved)