From 85f7a08e5d11b3d09b6c36b7a683f39846f8821e Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Tue, 2 Sep 2008 19:05:10 +0000 Subject: 231: Added Option2.get_default() method; added corresponding unit tests --- ipalib/tests/test_public.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'ipalib/tests/test_public.py') diff --git a/ipalib/tests/test_public.py b/ipalib/tests/test_public.py index 84be3c6d..56da573a 100644 --- a/ipalib/tests/test_public.py +++ b/ipalib/tests/test_public.py @@ -257,6 +257,40 @@ class test_Option2(ClassChecker): assert e.value is fail_type assert e.error == 'Must be a string' + def test_get_default(self): + """ + Tests the `public.Option2.get_default` method. + """ + name = 'greeting' + doc = 'User greeting' + type_ = ipa_types.Unicode() + default = u'Hello, world!' + default_from = public.DefaultFrom( + lambda first, last: u'Hello, %s %s!' % (first, last), + 'first', 'last' + ) + + # Scenario 1: multivalue=False + o = self.cls(name, doc, type_, + default=default, + default_from=default_from, + ) + assert o.default is default + assert o.default_from is default_from + assert o.get_default() == default + assert o.get_default(first='John', last='Doe') == 'Hello, John Doe!' + + # Scenario 2: multivalue=True + o = self.cls(name, doc, type_, + default=default, + default_from=default_from, + multivalue=True, + ) + assert o.default is default + assert o.default_from is default_from + assert o.get_default() == (default,) + assert o.get_default(first='John', last='Doe') == ('Hello, John Doe!',) + class test_Option(ClassChecker): """ -- cgit