annotate tests/test_ini.txt @ 55:49f88cde6219

make the test wrapper more interesting (and testable)
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 08 Jun 2011 23:35:56 -0700
parents f724db086125
children 6b48dee5b92b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 Test IniFactory
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 ===============
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 Let's test the .ini factory::
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6 >>> import os
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 >>> from pyloader.factory import IniFactory
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 >>> inifile = os.path.join(here, 'test.ini')
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 >>> inifactory = IniFactory(inifile)
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 Load it up::
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13 >>> object = inifactory.load()
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 >>> 'objects.py.StringMunge' in repr(object.__class__)
b98cc94ffcfa split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 True
33
48f61cea0a3c test calling the thing
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
16
48f61cea0a3c test calling the thing
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
17 Call it::
48f61cea0a3c test calling the thing
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
18
48f61cea0a3c test calling the thing
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
19 >>> object('foobar')
48f61cea0a3c test calling the thing
Jeff Hammel <jhammel@mozilla.com>
parents: 32
diff changeset
20 'PRE!!!abfoor'
34
a9eaf65d82c6 test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents: 33
diff changeset
21
a9eaf65d82c6 test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents: 33
diff changeset
22 You can also just load the callback::
a9eaf65d82c6 test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents: 33
diff changeset
23
a9eaf65d82c6 test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents: 33
diff changeset
24 >>> callback = inifactory.load('callback')
a9eaf65d82c6 test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents: 33
diff changeset
25 >>> callback('foo', 'bar')
a9eaf65d82c6 test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents: 33
diff changeset
26 'abfoor'
38
f6616a5f468f test fibonacci sequence
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
27
f6616a5f468f test fibonacci sequence
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
28 Lets test the Fibonnaci sequence::
f6616a5f468f test fibonacci sequence
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
29
f6616a5f468f test fibonacci sequence
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
30 >>> fib = inifactory.load('fibonacci')
f6616a5f468f test fibonacci sequence
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
31 >>> fib(0) == fib(1) == 1
f6616a5f468f test fibonacci sequence
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
32 True
f6616a5f468f test fibonacci sequence
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
33 >>> [fib(i) for i in range(5)]
f6616a5f468f test fibonacci sequence
Jeff Hammel <jhammel@mozilla.com>
parents: 34
diff changeset
34 [1, 1, 2, 3, 5]
54
f724db086125 houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
35
f724db086125 houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
36 Now let's test a simple wrapper::
f724db086125 houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
37
f724db086125 houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
38 >>> fib = inifactory.load('readable-fibonacci')
f724db086125 houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
39 >>> from pprint import pprint
f724db086125 houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
40 >>> [fib(i) for i in range(5)]
f724db086125 houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents: 38
diff changeset
41 ['one', 'one', 'two', 'three', 5]