source: main/waeup.sirp/trunk/src/waeup/sirp/app.txt @ 6493

Last change on this file since 6493 was 5140, checked in by uli, 14 years ago

Update all unit tests that use the ZCA to run inside the new unit test layer.

File size: 1.9 KB
Line 
1:mod:`waeup.sirp.app` -- central components for a WAeUP portal
2**************************************************************
3
4.. :doctest:
5.. :layer: waeup.sirp.testing.WAeUPSIRPUnitTestLayer
6
7.. module:: waeup.sirp.app
8
9.. class:: University
10
11  The main WAeUP application object is given with
12  :class:`University`. It provides the main containers as faculties,
13  hostels, etc.
14
15  .. attribute:: name
16
17     A string. The name of a university.
18
19  .. attribute:: faculties
20
21     An arbitrary object containing "faculties". In the case of
22     `University` it is a container of type
23     `waeup.sirp.interfaces.IFacultyContainer`.
24
25
26Creating `University` instances
27===============================
28
29As :class:`University` instances make use of the Zope Component
30Architecture (ZCA), we have to setup the basic component registries,
31before we can create instances. We do this by simply grokking the
32whole :mod:`waeup` package. This way all interfaces, utilities and adapters
33defined in the package are looked up and registered with the global
34registries (this is done by the testlayer automatically).
35
36Now we can import the :class:`University` class and create an
37instance:
38
39    >>> from waeup.sirp.app import University
40    >>> myuniversity = University()
41    >>> myuniversity
42    <waeup.sirp.app.University object at 0x...>
43
44Instances of `University` comply with the interface
45`waeup.sirp.interfaces.IUniversity`:
46
47    >>> from zope.interface.verify import verifyClass
48    >>> from waeup.sirp.interfaces import IUniversity
49    >>> verifyClass(IUniversity, University)
50    True
51
52A freshly created instance provides the attributes promised by the
53interface:
54
55    >>> from waeup.sirp.app import University
56    >>> myuniversity = University()
57    >>> myuniversity.name
58    u'Sample University'
59
60    >>> myuniversity['faculties']
61    <waeup.sirp.university.facultycontainer.FacultyContainer object at 0x...>
Note: See TracBrowser for help on using the repository browser.