#! /usr/bin/env python
# -*- coding: iso-8859-1 -*-
#-----------------------------------------------------------------------------
# Modeling Framework: an Object-Relational Bridge for python
#
# Copyright (c) 2001-2004 Sbastien Bigaret <sbigaret@users.sourceforge.net>
# All rights reserved.
#
# This file is part of the Modeling Framework.
#
# This code is distributed under a "3-clause BSD"-style license;
# see the LICENSE file for details.
#-----------------------------------------------------------------------------
"""
Tests for Adaptor
CVS information
$Id: test_Adaptor.py 932 2004-07-20 06:21:57Z sbigaret $
"""
__version__='$Revision: 932 $'[11:-2]
import unittest
if __name__ == "__main__":
import utils, sys
utils.fixpath()
from Modeling.Adaptor import Adaptor
from Modeling.SQLExpression import SQLExpression
class TestSQLExpression(SQLExpression):
pass
class TestAdaptor(Adaptor):
def defaultExpressionClass(self):
return SQLExpression
class TestAdaptor_StaticMethods(unittest.TestCase):
"Tests for Adaptor"
def test_01_expressionClass(self):
"[Adaptor] expressionClass"
testAdaptor=TestAdaptor('TestAdaptor')
#
self.failUnless(Adaptor.expressionClassForAdaptor(TestAdaptor) is None)
self.failUnless(testAdaptor.expressionClassForAdaptor(TestAdaptor) is None)
self.failUnless(TestAdaptor.expressionClassForAdaptor(TestAdaptor) is None)
# check: default behaviour == return defaultExpressionClass
self.failUnless(testAdaptor.expressionClass()==SQLExpression)
# check: w/ override using setExpressionClassForAdaptor()
Adaptor.setExpressionClassForAdaptor(TestSQLExpression, testAdaptor)
self.failUnless(Adaptor.expressionClassForAdaptor(TestAdaptor)==TestSQLExpression)
self.failUnless(testAdaptor.expressionClass()==TestSQLExpression)
def test_02_delegate(self):
"[Adaptor] (default)delegate (not yet implemented)"
pass
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestAdaptor_StaticMethods, "test_"))
return suite
if __name__ == "__main__":
errs = utils.run_suite(test_suite())
sys.exit(errs and 1 or 0)
|