annotate run/invariant_12.d @ 1559:ec5e144583ea

D1 -> D2 : 1/N
author thomask
date Sun, 19 Aug 2007 19:11:54 +0000
parents 1e6afb94ce6d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
360
e38919011244 dif. fixes 3
thomask
parents: 59
diff changeset
1 // $HeadURL$
e38919011244 dif. fixes 3
thomask
parents: 59
diff changeset
2 // $Date$
e38919011244 dif. fixes 3
thomask
parents: 59
diff changeset
3 // $Author$
e38919011244 dif. fixes 3
thomask
parents: 59
diff changeset
4
736
1e6afb94ce6d updated meta data for Torture
thomask
parents: 360
diff changeset
5 // __DSTRESS_TORTURE_BLOCK__ -release
1e6afb94ce6d updated meta data for Torture
thomask
parents: 360
diff changeset
6
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
7 module dstress.run.invariant_12.d;
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
8
360
e38919011244 dif. fixes 3
thomask
parents: 59
diff changeset
9 bool checked;
e38919011244 dif. fixes 3
thomask
parents: 59
diff changeset
10
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
11 class Parent{
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
12 int x;
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
13
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
14 void test(){
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
15 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
16
1559
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
17 invariant(){
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
18 if(checked){
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
19 assert(0);
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
20 }
360
e38919011244 dif. fixes 3
thomask
parents: 59
diff changeset
21 checked=true;
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
22 // even number
1559
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
23 if(x & 1u){
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
24 assert(0);
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
25 }
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
26 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
27 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
28
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
29 class Child : Parent{
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
30 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
31
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
32 class GrandChild : Child{
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
33 this(){
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
34 x=5;
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
35 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
36 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
37
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
38 int main(){
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
39 try{
1559
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
40 if(checked){
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
41 assert(0);
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
42 }
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
43 GrandChild gc = new GrandChild();
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
44 }catch{
1559
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
45 if(!checked){
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
46 assert(0);
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
47 }
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
48 return 0;
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
49 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
50 assert(0);
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
51 }