blob: aa8a712efa2e3bc2ac1fae8d8d247fe433a2b697 [file] [log] [blame]
# test_stackDicts.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
from portage.tests import TestCase
from portage.util import stack_dicts
class StackDictsTestCase(TestCase):
def testStackDictsPass(self):
tests = [ ( [ { "a":"b" }, { "b":"c" } ], { "a":"b", "b":"c" },
False, [], False ),
( [ { "a":"b" }, { "a":"c" } ], { "a":"b c" },
True, [], False ),
( [ { "a":"b" }, { "a":"c" } ], { "a":"b c" },
False, ["a"], False ),
( [ { "a":"b" }, None ], { "a":"b" },
False, [], True ),
( [ None ], None, False, [], False ),
( [ None, {}], {}, False, [], True ) ]
for test in tests:
result = stack_dicts( test[0], test[2], test[3], test[4] )
self.assertEqual( result, test[1] )
def testStackDictsFail(self):
tests = [ ( [ None, {} ], None, False, [], True ),
( [ { "a":"b"}, {"a":"c" } ], { "a":"b c" },
False, [], False ) ]
for test in tests:
result = stack_dicts( test[0], test[2], test[3], test[4] )
self.assertNotEqual( result , test[1] )