# Test course containers

import unittest
from zope.interface.verify import verifyClass, verifyObject
from waeup.sirp.university.interfaces import ICourseContainer
from waeup.sirp.university import CourseContainer, Course

class CourseContainerTests(unittest.TestCase):

    def test_ifaces(self):
        container = CourseContainer()
        self.assertTrue(verifyClass(ICourseContainer, CourseContainer))
        self.assertTrue(verifyObject(ICourseContainer, container))

    def test_setitem_name_ne_code(self):
        # If we add a course under a wrong name that will give an error
        container = CourseContainer()
        course = Course(code='MYCOURSE')
        self.assertRaises(
            ValueError,
            container.__setitem__, 'NOTMYCOURSE', course)
