# test_dep_getslot.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

from portage.tests import TestCase
from portage.dep import dep_getslot


class DepGetSlot(TestCase):
    """A simple testcase for isvalidatom"""

    def testDepGetSlot(self):

        slot_char = ":"
        slots = ("a", "1.2", "1", "IloveVapier", None)
        cpvs = ["sys-apps/portage"]
        versions = ["2.1.1", "2.1-r1"]
        for cpv in cpvs:
            for version in versions:
                for slot in slots:
                    mycpv = cpv
                    if version:
                        mycpv = "=" + mycpv + "-" + version
                    if slot is not None:
                        self.assertEqual(dep_getslot(mycpv + slot_char + slot), slot)
                    else:
                        self.assertEqual(dep_getslot(mycpv), slot)
