"""
Tests for the module interface.
"""

import unittest

import ucdresolve


class TestRealResolve(unittest.TestCase):
	"""Tests with an almost real-sized corpus.
	"""
	def setUp(self):
		self.resolver = ucdresolve.getResolver("data/testData/testData3.txt")
	
	def testSomeDescriptions(self):
		self.assertEqual(self.resolver.resolve(ucdresolve.fromDescription(
			"magnitude in V band"))[0][1], "phot.mag;em.opt.V")


class TestExplainer(unittest.TestCase):
	"""Tests for explaining UCDs.
	"""
	def testSomeUCDs(self):
		self.assertEqual(ucdresolve.explain("pos.eq.ra"), 
			"Right ascension in equatorial coordinates")
		self.assertEqual(ucdresolve.explain("phot.mag;em.opt.B"), 
			"Photometric magnitude in the optical band between 400 and 500 nm")
		self.assertEqual(ucdresolve.explain("pos.eq.ra;meta.main"), 
			"Main value of right ascension in equatorial coordinates")
		self.assertEqual(ucdresolve.explain("phys.angSize;src"),
			"Angular size, width, diameter, dimension, extension, major minor"
			" axis, extraction radius of the observed source viewed on the sky")


if __name__=="__main__":
	unittest.main()
