Mercurial > projects > dstress
diff run/static_03.d @ 0:3269e4627918
init dstress
author | svnowner |
---|---|
date | Sat, 25 Sep 2004 22:33:30 +0000 |
parents | |
children | 3414705c41ac |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/static_03.d Sat Sep 25 22:33:30 2004 +0000 @@ -0,0 +1,47 @@ +// $Header: /home/th/Dokumente/Entwicklung/MEIN_CVS/MiniD/src/run/static_03.d,v 1.1 2004/08/20 23:42:54 th Exp $ + +class MyClass{ + static int status; + static void staticCheck(){ + status++; + } + + void liveCheck(){ + status--; + } + + void liveCheck2(){ + staticCheck(); + } +} + +int main(){ + MyClass a; + MyClass b = new MyClass(); + a.staticCheck(); + assert( a.status == 1 ); + assert( b.status == 1 ); + assert( MyClass.status == 1 ); + + b.staticCheck(); + assert( a.status == 2 ); + assert( b.status == 2 ); + assert( MyClass.status == 2 ); + + MyClass.staticCheck(); + assert( a.status == 3 ); + assert( b.status == 3 ); + assert( MyClass.status == 3 ); + + b.liveCheck(); + assert( a.status == 2 ); + assert( b.status == 2 ); + assert( MyClass.status == 2 ); + + b.liveCheck2(); + assert( a.status == 3 ); + assert( b.status == 3 ); + assert( MyClass.status == 3 ); + + return 0; +}