view bindings/python/tests/InitialisationRelated.py @ 662:01af8c56eb8d

added the first three unit tests for python bindings. currently tests have to be manually run like this: >python tests/InitialisationRelated.py ensuring that the python location can see the pyadb library (i.e. it's installed and in the search path or you've move to the local copy's location) This should run all 3 tests with some moderate output. All three tests should succeed.
author map01bf
date Wed, 13 Jan 2010 15:07:58 +0000
parents
children 159becb0701e
line wrap: on
line source
#!/usr/bin/env python
# encoding: utf-8
"""
InitialisationRelated.py

designed to mirror the numbering for the C/C++ api's unit tests
this performs tests 0001, 0002, 0003


Created by Ben Fields on 2010-01-11.
"""

import sys
import os,os.path
import pyadb
import struct
import unittest


class CreateADBTests(unittest.TestCase):
	def setUp(self):
		self.adb = pyadb.Pyadb("test.adb")
	def test_DBcreation(self):
		self.assert_(os.path.exists(self.adb.path))
		self.assertRaises(TypeError, pyadb.Pyadb)
	def test_DBstatus(self):
		try:
			self.adb.status()
		except:
			self.assert_(False)
	def test_1DinsertionSelfQuery(self):
		tH = open("testfeature", 'w')
		tH.write(struct.pack("=id",1,1))
		tH.close()
		self.adb.insert("testfeature")
		self.adb.configQuery["seqLength"] = 1
		result = self.adb.query("testfeature")
		self.assert_(len(result.rawData) == 1)
		self.assert_(result.rawData.has_key("testfeature"))
		self.assert_(len(result.rawData["testfeature"]) == 1)
		self.assert_(result.rawData["testfeature"][0] == (float("-inf"), 0,0))
		
		


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