You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.5 KiB

# -*- coding: utf-8 -*-
import unittest
import dotdot
import fixtures
from pubs.paper import Paper
class TestAttributes(unittest.TestCase):
def setUp(self):
self.p = Paper.from_bibentry(
fixtures.page_bibentry,
metadata=fixtures.page_metadata).deepcopy()
def test_tags(self):
self.assertEqual(self.p.tags, set(['search', 'network']))
def test_add_tag(self):
self.p.add_tag('algorithm')
self.assertEqual(self.p.tags, set(['search', 'network', 'algorithm']))
self.p.add_tag('algorithm')
self.assertEqual(self.p.tags, set(['search', 'network', 'algorithm']))
def test_set_tags(self):
self.p.tags = ['algorithm']
self.assertEqual(self.p.tags, set(['algorithm']))
def test_remove_tags(self):
self.p.remove_tag('network')
self.assertEqual(self.p.tags, set(['search']))
def test_mixed_tags(self):
self.p.add_tag('algorithm')
self.assertEqual(self.p.tags, set(['search', 'network', 'algorithm']))
self.p.remove_tag('network')
self.assertEqual(self.p.tags, set(['search', 'algorithm']))
self.p.tags = ['ranking']
self.assertEqual(self.p.tags, set(['ranking']))
self.p.remove_tag('ranking')
self.assertEqual(self.p.tags, set())
self.p.remove_tag('ranking')
def test_fails_with_empty_citekey(self):
with self.assertRaises(ValueError):
Paper(" ", fixtures.doe_bibdata)
if __name__ == '__main__':
unittest.main()