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

from portage.tests import TestCase
from portage.dep import get_operator

class GetOperator(TestCase):

	def testGetOperator(self):

		# get_operator does not validate operators
		tests = [ ( "~", "~" ), ( "=", "=" ), ( ">", ">" ),
			  ( ">=", ">=" ), ( "<=", "<=" ),
		]

		test_cpvs = ["sys-apps/portage-2.1"]
		slots = [ None,"1","linux-2.5.6" ]
		for cpv in test_cpvs:
			for test in tests:
				for slot in slots:
					atom = cpv[:]
					if slot:
						atom += ":" + slot
					result = get_operator( test[0] + atom )
					self.assertEqual( result, test[1],
						msg="get_operator(%s) != %s" % (test[0] + atom, test[1]) )

		result = get_operator( "sys-apps/portage" )
		self.assertEqual( result, None )

		result = get_operator( "=sys-apps/portage-2.1*" )
		self.assertEqual( result , "=*" )
