class TestBasePackageAdapter(test_helper.MoxTestCase):
	def setUp(self):
		super(TestBasePackageAdapter, self).setUp()
		self.fake_package = FakePackage()
		self.setUp_mangle_fake_package()
		self.pa = PackageAdapter(self.fake_package)
		self.setUp_mangle_package_adapter()
		self.facter = self._create_mock_facter('Debian')
		self.apt_pkg_adapter = AptPkgAdapter(self._create_mock_apt_pkg_module())
		self.apt_pkg_adapter.init()
		self.status = self.pa.get_status(self.facter)
	def setUp_mangle_fake_package(self):
		pass
	def setUp_mangle_package_adapter(self):
		pass
	def testProperties(self):
		self.assertEquals(self.pa.name, 'afake')
		self.assertEquals(self.pa.apt_package, self.fake_package)
	def testLenOfVersionsNonNegative(self):
		self.assert_(self.pa.versions >= 0)
	def testBasicStringificationWorks(self):
		self.assertContains(str(self.pa), 'PackageAdapter')
	def setUpAddAVersion(self, source = 'NonDebian', version = 'blah'):
		self.fake_package.append_version(FakeVersion._create(version, [source]))
	def test_get_status_returns_an_object(self):
		self.assert_(self.status)
		self.assertEquals(self.status.package_name, 'afake')
		self.assertEquals(self.status.installed_version, self.pa.current_version)
		self.assertEquals(self.status.candidate_version, self.pa.candidate_version)
		self.assert_(len(self.status.versions_by_origin) >= 0)