From 08f07b0cc6697e4b65e539baef0517b846ff823d Mon Sep 17 00:00:00 2001 From: nobody Date: Wed, 19 Mar 2003 02:47:30 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'RC_1_30_0'. [SVN r17988] --- doc/PyConDC_2003/python_cpp_mix.jpg | Bin 0 -> 22831 bytes pyste/example/operators.h | 43 +++++++++++++++++++++++++++ pyste/example/operators.pyste | 1 + pyste/example/unions.h | 16 ++++++++++ pyste/example/unions.pyste | 2 ++ pyste/tests/build_pyste_nt.bat | 19 ++++++++++++ pyste/tests/example_basicUT.py | 27 +++++++++++++++++ pyste/tests/example_enumsUT.py | 18 +++++++++++ pyste/tests/example_header_testUT.py | 15 ++++++++++ pyste/tests/example_nested.py | 15 ++++++++++ pyste/tests/example_operatorsUT.py | 25 ++++++++++++++++ pyste/tests/example_templatesUT.py | 26 ++++++++++++++++ pyste/tests/example_virtual.py | 31 +++++++++++++++++++ pyste/tests/example_wrappertestUT.py | 11 +++++++ pyste/tests/test_all.bat | 20 +++++++++++++ 15 files changed, 269 insertions(+) create mode 100755 doc/PyConDC_2003/python_cpp_mix.jpg create mode 100644 pyste/example/operators.h create mode 100644 pyste/example/operators.pyste create mode 100644 pyste/example/unions.h create mode 100644 pyste/example/unions.pyste create mode 100644 pyste/tests/build_pyste_nt.bat create mode 100644 pyste/tests/example_basicUT.py create mode 100644 pyste/tests/example_enumsUT.py create mode 100644 pyste/tests/example_header_testUT.py create mode 100644 pyste/tests/example_nested.py create mode 100644 pyste/tests/example_operatorsUT.py create mode 100644 pyste/tests/example_templatesUT.py create mode 100644 pyste/tests/example_virtual.py create mode 100644 pyste/tests/example_wrappertestUT.py create mode 100644 pyste/tests/test_all.bat diff --git a/doc/PyConDC_2003/python_cpp_mix.jpg b/doc/PyConDC_2003/python_cpp_mix.jpg new file mode 100755 index 0000000000000000000000000000000000000000..755a9605b8335a1a2ac33b9010e23a1e2c17679c GIT binary patch literal 22831 zcmex=9G120;$SdZs*PMkNL&K}Kdl#{Wkc&0Dr^+rDGxu0w~996fgY#K}{a zE?>EN?fQ+Iw;n!v{N(Ag=PzEq`uOSdm#^Qx|M>X}Pb?HxGHT=yahkYr<3UbkKbJlOVGogFVCF;6+^;41*P~pZ}jBKfWtY{fF*v z^@``m;&`w8XV|#MbJ^eaH`Dj0ch&2k*}uK>pJ(WVrz(Y~=A|UvRT@eNB17`RS8>>m~>9c%)M|b>y@6x zb^U+h{%+mF{~`ME`=)(@*;U~kdV4${o!?m7_S%1Y72IJz${*Nw+!x*wFQVQfls&uqJ^Sky6C&RAJiJi!Y0L3PQLldIA)KK z#3Z-&qSIosli7=N?*uk5{Hk~P&(PHR$Lji@`j6R%#D3{_2?za1UzYW2-A0{l+YU)S zy1Z1-Z`+d?p)+TS8V@m9O??@&{?Pj$TJsO(_t+VISl;r-^x=J(xQg~8Rx>XrZIlYp zxz@#!{x(=-ZbO6iiK7#CE8RYIW);))pUe;DACm7jua~mVUN2bD|Iok7#<1|weCCS1 zxw)yApUsoh&&x}msH^)<%wW2Y--9-tpN-`j3fFhlA2hE|yIcHEV*jK649zv+5BEAh z{Lj#7lUTjtC2#eb7w7XUzeSq7NNRJM#BncTapgL$bq{v;GzfT0F?`|wQEh&R|0l

AHvA79IpJkBwck_?> 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 w&hmUv;rYEv?*5yVk1phfe)+rE + +namespace operators { + +struct C +{ + static double x; + double value; + + const C operator+(const C other) const + { + C c; + c.value = value + other.value; + return c; + } + operator int() const + { + return value; + } + + double operator()() + { + return C::x; + } + + double operator()(double other) + { + return C::x + other; + } + + +}; + +double C::x = 10; + +const C operator*(const C& lhs, const C& rhs) +{ + C c; + c.value = lhs.value * rhs.value; + return c; +} + +} diff --git a/pyste/example/operators.pyste b/pyste/example/operators.pyste new file mode 100644 index 00000000..ed0f5083 --- /dev/null +++ b/pyste/example/operators.pyste @@ -0,0 +1 @@ +Class('operators::C', 'operators.h') diff --git a/pyste/example/unions.h b/pyste/example/unions.h new file mode 100644 index 00000000..06287dec --- /dev/null +++ b/pyste/example/unions.h @@ -0,0 +1,16 @@ +namespace unions { + +class UnionTest +{ +public: + union // unions are not supported for now + { + int i; + short s1; + short s2; + } mBad; + + int mGood; +}; + +} diff --git a/pyste/example/unions.pyste b/pyste/example/unions.pyste new file mode 100644 index 00000000..726ab6a2 --- /dev/null +++ b/pyste/example/unions.pyste @@ -0,0 +1,2 @@ +UnionTest = Class('unions::UnionTest', 'unions.h') +exclude(UnionTest.mBad) diff --git a/pyste/tests/build_pyste_nt.bat b/pyste/tests/build_pyste_nt.bat new file mode 100644 index 00000000..7f9d5817 --- /dev/null +++ b/pyste/tests/build_pyste_nt.bat @@ -0,0 +1,19 @@ +@echo off +setlocal +set MODULE_NAME=%1 +set PYSTE_FILE=%2 +set BOOST_ROOT=d:/programming/libraries/boost-cvs +set PYTHON_ROOT=c:/python +set STLPORT_ROOT=d:/programming/libraries/stlport-4.5.3 +set PYSTE_FILE_DIR=%@PATH[%PYSTE_FILE] + +python ../src/pyste.py -I%PYSTE_FILE_DIR --out=%MODULE_NAME.cpp --module=%MODULE_NAME %PYSTE_FILE + +icl /nologo /LD /GR /GX -I%PYSTE_FILE_DIR -I%STLPORT_ROOT/stlport -I%BOOST_ROOT/boost -I%PYTHON_ROOT/include %MODULE_NAME.cpp /link /libpath:%PYTHON_ROOT/libs /libpath:%BOOST_ROOT/lib /libpath:%STLPORT_ROOT/lib boost_python.lib + +rm %MODULE_NAME.cpp +rm %MODULE_NAME.exp +rm %MODULE_NAME.lib +rm %MODULE_NAME.obj + +endlocal diff --git a/pyste/tests/example_basicUT.py b/pyste/tests/example_basicUT.py new file mode 100644 index 00000000..813b4f02 --- /dev/null +++ b/pyste/tests/example_basicUT.py @@ -0,0 +1,27 @@ +import unittest +import os + +class BasicExampleTest(unittest.TestCase): + + def testIt(self): + from basic import C, call_f + + class D(C): + def f(self, x=10): + return x+1 + + d = D() + c = C() + + self.assertEqual(c.f(), 20) + self.assertEqual(c.f(3), 6) + self.assertEqual(d.f(), 11) + self.assertEqual(d.f(3), 4) + self.assertEqual(call_f(c), 20) + self.assertEqual(call_f(c, 4), 8) + self.assertEqual(call_f(d), 11) + self.assertEqual(call_f(d, 3), 4) + + +if __name__ == '__main__': + unittest.main() diff --git a/pyste/tests/example_enumsUT.py b/pyste/tests/example_enumsUT.py new file mode 100644 index 00000000..01e3bdd8 --- /dev/null +++ b/pyste/tests/example_enumsUT.py @@ -0,0 +1,18 @@ +import unittest +from enums import * + +class EnumsTest(unittest.TestCase): + + def testIt(self): + self.assertEqual(int(color.Red), 0) + self.assertEqual(int(color.Blue), 1) + + self.assertEqual(int(X.Choices.Good), 1) + self.assertEqual(int(X.Choices.Bad), 2) + x = X() + self.assertEqual(x.set(x.Choices.Good), 1) + self.assertEqual(x.set(x.Choices.Bad), 2) + + +if __name__ == '__main__': + unittest.main() diff --git a/pyste/tests/example_header_testUT.py b/pyste/tests/example_header_testUT.py new file mode 100644 index 00000000..1f57a9bf --- /dev/null +++ b/pyste/tests/example_header_testUT.py @@ -0,0 +1,15 @@ +import unittest +from header_test import * + +class HeaderTest(unittest.TestCase): + + def testIt(self): + self.assertEqual(choice.red, 0) + self.assertEqual(choice.blue, 1) + self.assertEqual(choice_str(choice.blue), 'blue') + self.assertEqual(choice_str(choice.red), 'red') + c = C() + c.c = choice.blue + self.assertEqual(c.get(), 'blue') + c.c = choice.red + self.assertEqual(c.get(), 'red') diff --git a/pyste/tests/example_nested.py b/pyste/tests/example_nested.py new file mode 100644 index 00000000..7c1685bc --- /dev/null +++ b/pyste/tests/example_nested.py @@ -0,0 +1,15 @@ +import unittest +from nested import * + +class NestedTest(unittest.TestCase): + + def testIt(self): + self.assertEqual(Root.staticXValue, 10) + self.assertEqual(Root.Y.staticYValue, 20) + z = Root.Y.Z() + z.valueZ = 3 + self.assertEqual(z.valueZ, 3) + + +if __name__ == '__main__': + unittest.main() diff --git a/pyste/tests/example_operatorsUT.py b/pyste/tests/example_operatorsUT.py new file mode 100644 index 00000000..345a3a17 --- /dev/null +++ b/pyste/tests/example_operatorsUT.py @@ -0,0 +1,25 @@ +import unittest +from operators import * + +class OperatorTest(unittest.TestCase): + + def testIt(self): + c = C() + c.value = 3.0 + d = C() + d.value = 2.0 + self.assertEqual(c.x, 10) + self.assertEqual(C.x, 10) + self.assertEqual(C.x, 10) + self.assertEqual((c * d).value, 6.0) + self.assertEqual((c + d).value, 5.0) + self.assertEqual(int(c), 3) + self.assertEqual(int(d), 2) + self.assertEqual(c(), 10) + self.assertEqual(d(), 10) + self.assertEqual(c(3.0), 13.0) + self.assertEqual(d(6.0), 16.0) + + +if __name__ == '__main__': + unittest.main() diff --git a/pyste/tests/example_templatesUT.py b/pyste/tests/example_templatesUT.py new file mode 100644 index 00000000..fe897c1b --- /dev/null +++ b/pyste/tests/example_templatesUT.py @@ -0,0 +1,26 @@ +import unittest +from templates import * + +class TemplatesTest(unittest.TestCase): + + def testIt(self): + fp = FPoint() + fp.i = 3.0 + fp.j = 4 + ip = IPoint() + ip.x = 10 + ip.y = 3.0 + + self.assertEqual(fp.i, 3.0) + self.assertEqual(fp.j, 4) + self.assertEqual(ip.x, 10) + self.assertEqual(ip.y, 3.0) + self.assertEqual(type(fp.i), float) + self.assertEqual(type(fp.j), int) + self.assertEqual(type(ip.x), int) + self.assertEqual(type(ip.y), float) + + + +if __name__ == '__main__': + unittest.main() diff --git a/pyste/tests/example_virtual.py b/pyste/tests/example_virtual.py new file mode 100644 index 00000000..66b25c24 --- /dev/null +++ b/pyste/tests/example_virtual.py @@ -0,0 +1,31 @@ +import unittest +from virtual import * + +class VirtualTest(unittest.TestCase): + + def testIt(self): + + class D(C): + def f_abs(self): + return 3 + + class E(C): + def f(self): + return 10 + def name(self): + return 'E' + + d = D() + e = E() + + self.assertEqual(d.f(), 3) + self.assertEqual(call_f(d), 3) + self.assertEqual(e.f(), 10) + self.assertEqual(call_f(e), 10) + self.assertEqual(d.get_name(), 'C') + self.assertEqual(e.get_name(), 'E') + + + +if __name__ == '__main__': + unittest.main() diff --git a/pyste/tests/example_wrappertestUT.py b/pyste/tests/example_wrappertestUT.py new file mode 100644 index 00000000..ebffed2d --- /dev/null +++ b/pyste/tests/example_wrappertestUT.py @@ -0,0 +1,11 @@ +import unittest +from wrappertest import * + +class WrapperTest(unittest.TestCase): + + def testIt(self): + self.assertEqual(Range(10), range(10)) + self.assertEqual(C().Mul(10), [x*10 for x in range(10)]) + +if __name__ == '__main__': + unittest.main() diff --git a/pyste/tests/test_all.bat b/pyste/tests/test_all.bat new file mode 100644 index 00000000..89685f0d --- /dev/null +++ b/pyste/tests/test_all.bat @@ -0,0 +1,20 @@ +@echo off +call build_pyste_nt basic ../example/basic.pyste +call build_pyste_nt enums ../example/enums.pyste +call build_pyste_nt header_test ../example/header_test.pyste +call build_pyste_nt nested ../example/nested.pyste +call build_pyste_nt operators ../example/operators.pyste +call build_pyste_nt templates ../example/templates.pyste +call build_pyste_nt virtual ../example/virtual.pyste +call build_pyste_nt wrappertest ../example/wrappertest.pyste +call build_pyste_nt unions ../example/unions.pyste + + +runtests.py + +if errorlevel != 0 goto end + +rm *.dll +rm *.pyc + +:end