# testConfigFileSet.py -- Portage Unit Testing Functionality # Copyright 2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from portage.dep import Atom from portage.exception import InvalidAtom from portage.tests import TestCase from portage._sets.base import InternalPackageSet class InternalPackageSetTestCase(TestCase): """Simple Test Case for InternalPackageSet""" def testInternalPackageSet(self): i1_atoms = set(("dev-libs/A", ">=dev-libs/A-1", "dev-libs/B")) i2_atoms = set(("dev-libs/A", "dev-libs/*", "dev-libs/C")) i1 = InternalPackageSet(initial_atoms=i1_atoms) i2 = InternalPackageSet(initial_atoms=i2_atoms, allow_wildcard=True) self.assertRaises(InvalidAtom, InternalPackageSet, initial_atoms=i2_atoms) self.assertEqual(i1.getAtoms(), i1_atoms) self.assertEqual(i2.getAtoms(), i2_atoms) new_atom = Atom("*/*", allow_wildcard=True) self.assertRaises(InvalidAtom, i1.add, new_atom) i2.add(new_atom) i2_atoms.add(new_atom) self.assertEqual(i1.getAtoms(), i1_atoms) self.assertEqual(i2.getAtoms(), i2_atoms) removed_atom = Atom("dev-libs/A") i1.remove(removed_atom) i2.remove(removed_atom) i1_atoms.remove(removed_atom) i2_atoms.remove(removed_atom) self.assertEqual(i1.getAtoms(), i1_atoms) self.assertEqual(i2.getAtoms(), i2_atoms) update_atoms = [Atom("dev-libs/C"), Atom("dev-*/C", allow_wildcard=True)] self.assertRaises(InvalidAtom, i1.update, update_atoms) i2.update(update_atoms) i2_atoms.update(update_atoms) self.assertEqual(i1.getAtoms(), i1_atoms) self.assertEqual(i2.getAtoms(), i2_atoms) replace_atoms = [Atom("dev-libs/D"), Atom("*-libs/C", allow_wildcard=True)] self.assertRaises(InvalidAtom, i1.replace, replace_atoms) i2.replace(replace_atoms) i2_atoms = set(replace_atoms) self.assertEqual(i2.getAtoms(), i2_atoms)