#! /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 module delegation
CVS Information
$Id: test_dynamic.py 950 2004-11-24 15:11:19Z sbigaret $
"""
__version__= '$Revision: 950 $'[11:-2]
import unittest
if __name__ == "__main__":
import utils, sys
utils.fixpath()
from Modeling import dynamic
def sample_pymodel(modelname):
"Builds a sample pymodel"
from Modeling.PyModel import Model,Entity,AString
pymodel=Model(modelname) # a PyModel.Model
pymodel.version='0.1' # This is mandatory!!
e=Entity("Person",properties=[AString("name")])
pymodel.entities.append(e)
return pymodel
class TestDynamic(unittest.TestCase):
"Tests for module dynamic"
def test_01_build_accepts_pymodel(self):
"[dynamic] build() accepts PyModels - bug #981123"
pymodel=sample_pymodel("TestDynamic_test_01_pymodel_a")
dynamic.build(pymodel) # should not fail
import TestDynamic_test_01_pymodel_a
self.failUnless(TestDynamic_test_01_pymodel_a.Person)
# an already built pymodel should be ok as well
pymodel=sample_pymodel("TestDynamic_test_01_pymodel_b")
pymodel.build()
dynamic.build(pymodel) # should not fail
import TestDynamic_test_01_pymodel_b
self.failUnless(TestDynamic_test_01_pymodel_b.Person)
# Build the test suite
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestDynamic, "test_"))
return suite
if __name__ == "__main__":
errs = utils.run_suite(test_suite())
sys.exit(errs and 1 or 0)
|