Mercurial > projects > dstress
changeset 4:1ed6616fe905
extended array tests
author | thomask |
---|---|
date | Sun, 26 Sep 2004 15:54:31 +0000 |
parents | b374f71310ea |
children | e6777053bf1c |
files | compile/align_04.d compile/extern_01.d compile/extern_02.d nocompile/align_01.d nocompile/align_02.d nocompile/align_03.d nocompile/align_05.d nocompile/bounds_checking_01.d nocompile/length_03.d norun/slice_06.d norun/slice_08.d run/array_initialization_02.d run/dup_01.d run/dup_02.d run/dup_03.d run/foreach_16.d run/keys_01.d run/length_02.d run/opCatAssign_02.d run/opCatAssign_03.d run/opCatAssign_04.d run/opCatAssign_05.d run/reverse_01.d run/reverse_02.d run/reverse_03.d run/reverse_04.d run/sizeof_01.d run/sizeof_02.d run/sizeof_03.d run/sizeof_04.d run/slice_05.d run/slice_07.d run/slice_09.d run/sort_01.d run/sort_02.d run/unicode_01.d run/unicode_02.d run/values_01.d |
diffstat | 38 files changed, 557 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/align_04.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,7 @@ +align (2) struct MyStruct{ + int a; + byte* b; + int c(){ + return 8; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/extern_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,5 @@ +extern (C) int test(char c); + +int check(){ + return test('a'); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/extern_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,5 @@ +extern (D) int test(char c); + +int check(){ + return test('a'); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/align_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,3 @@ +align (1) int check(){ + return 5; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/align_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,3 @@ +align (-1) int check(){ + return 5; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/align_03.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,5 @@ +align (1) struct MyStruct{ + int a; + byte* b; + int c(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/align_05.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,7 @@ +align (2) class MyClass{ + int a; + byte* b; + int c(){ + return 8; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/bounds_checking_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,6 @@ +int main(){ + byte[5] a; + a[100]=3; + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/length_03.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,5 @@ +int main(){ + int[char[]] array; + array.length=2; + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/norun/slice_06.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,18 @@ +int main(){ + bit[] a; + a.length=2; + a[] = true; + assert(a[0]); + assert(a[1]); + + bit[] b; + b.length=2; + assert(!b[0]); + assert(!b[1]); + + b[1..2] = a[0..1]; + assert(!b[0]); + assert(b[1]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/norun/slice_08.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,18 @@ +int main(){ + bit[] a; + a.length=2; + a[] = true; + assert(a[0]); + assert(a[1]); + + bit[] b; + b.length=2; + assert(!b[0]); + assert(!b[1]); + + b[0..1] = a[1..2]; + assert(b[0]); + assert(!b[1]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/array_initialization_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,9 @@ +int main(){ + static int[5] a = [ 3:2, 3, 0:5, -2]; + assert(a[0]== 5); + assert(a[1]==-2); + assert(a[2]== 0); + assert(a[3]== 2); + assert(a[4]== 3); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/dup_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,23 @@ +int main(){ + byte[] a; + a.length=3; + a[0]=3; + a[1]=9; + a[2]=18; + + byte[] b= a.dup; + a[2]='A'; + b[0]='B'; + + assert(a.length==3); + assert(a[0]==3); + assert(a[1]==9); + assert(a[2]=='A'); + + assert(b.length==3); + assert(b[0]=='B'); + assert(b[1]==9); + assert(b[2]==18); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/dup_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,23 @@ +int main(){ + bit a[]; + a.length=3; + a[0]=false; + a[1]=false; + a[2]=true; + + bit[] b=a.dup; + a[1]=true; + b[0]=true; + + assert(a.length==3); + assert(!a[0]); + assert(a[1]); + assert(a[2]); + + assert(b.length==3); + assert(b[0]); + assert(!b[1]); + assert(b[2]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/dup_03.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,26 @@ +int main(){ + byte[] a= new byte[5]; + byte[] b=a; + + assert(a[3]==0); + assert(b[3]==0); + + a[1]=1; + assert(a[1]==1); + assert(b[1]==1); + + b[3]=2; + assert(a[3]==2); + assert(b[3]==2); + + b=a.dup; + + b[3]=7; + assert(a[3]==2); + assert(b[3]==7); + + a[2]=5; + assert(a[2]==5); + assert(b[2]==0); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/foreach_16.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,19 @@ +int main(){ + char[] string; + string.length=4; + string[0] = 0xF0; + string[1] = 0x9D; + string[2] = 0x83; + string[3] = 0x93; + + int count=0; + wchar tmp; + foreach(wchar value ; string){ + tmp=value; + count++; + } + assert(count==1); + assert(tmp==0x01D0D3); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/keys_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,38 @@ +int main(){ + int[char[]] array; + array["eins"]=1; + array["zwei"]=2; + array["drei"]=3; + + char[][] key = array.keys; + assert(key.length==3); + + bool have[3]; + + assert(!have[0]); + assert(!have[1]); + assert(!have[2]); + + foreach(char[] value; key){ + switch(value){ + case "eins":{ + have[0]=true; + break; + }case "zwei":{ + have[1]=true; + break; + }case "drei":{ + have[2]=true; + break; + }default:{ + assert(0); + } + } + } + + assert(have[0]); + assert(have[1]); + assert(have[2]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/length_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,8 @@ +int main(){ + int[char[]] array; + assert(array.length == 0); + array["drei"]=3; + array["sieben"]=7; + assert(array.length == 2); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/opCatAssign_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,19 @@ +int main(){ + int[] a; + a.length=3; + a[0]=2; + a[1]=4; + a[2]=8; + assert(a.length==3); + + a~=a; + assert(a.length==6); + assert(a[0]==2); + assert(a[1]==4); + assert(a[2]==8); + assert(a[3]==2); + assert(a[4]==4); + assert(a[5]==8); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/opCatAssign_03.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,24 @@ +int main(){ + int[] a; + a.length=3; + a[0]=2; + a[1]=4; + a[2]=8; + assert(a.length==3); + + int[] b; + b.length=2; + b[0]=1; + b[1]=2; + assert(b.length==2); + + a~=b; + assert(a.length==5); + assert(a[0]==2); + assert(a[1]==4); + assert(a[2]==8); + assert(a[3]==1); + assert(a[4]==2); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/opCatAssign_04.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,24 @@ +int main(){ + bit[] a; + a.length=3; + a[0]=true; + a[1]=true; + a[2]=true; + assert(a.length==3); + + bit[] b; + b.length=2; + b[0]=false; + b[1]=false; + assert(b.length==2); + + a~=b; + assert(a.length==5); + assert(a[0]); + assert(a[1]); + assert(a[2]); + assert(!a[3]); + assert(!a[4]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/opCatAssign_05.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,22 @@ +int main(){ + bit[] a; + a.length=3; + a[0]=true; + a[1]=false; + a[2]=true; + assert(a.length==3); + assert(a[0]); + assert(!a[1]); + assert(a[2]); + + a~=a; + assert(a.length==6); + assert(a[0]); + assert(!a[1]); + assert(a[2]); + assert(a[3]); + assert(!a[4]); + assert(a[5]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/reverse_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,18 @@ +int main(){ + bit a[]; + a.length=3; + a[0]=true; + a[1]=false; + a[2]=false; + + bit[] b=a.reverse; + assert(a.length==3); + assert(!a[0]); + assert(!a[1]); + assert(a[2]); + assert(b.length==3); + assert(!b[0]); + assert(!b[1]); + assert(b[2]); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/reverse_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,17 @@ +int main(){ + bit a[3]; + a[0]=true; + a[1]=false; + a[2]=false; + + bit[] b=a.reverse; + assert(b.length==3); + assert(!b[0]); + assert(!b[1]); + assert(b[2]); + assert(a.length==3); + assert(!a[0]); + assert(!a[1]); + assert(a[2]); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/reverse_03.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,17 @@ +int main(){ + byte a[3]; + a[0]=3; + a[1]=9; + a[2]=18; + + byte[] b=a.reverse; + assert(b.length==3); + assert(b[0]==18); + assert(b[1]==9); + assert(b[2]==3); + assert(a.length==3); + assert(a[0]==18); + assert(a[1]==9); + assert(a[2]==3); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/reverse_04.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,18 @@ +int main(){ + byte a[]; + a.length=3; + a[0]=3; + a[1]=9; + a[2]=18; + + byte[] b=a.reverse; + assert(b.length==3); + assert(b[0]==18); + assert(b[1]==9); + assert(b[2]==3); + assert(a.length==3); + assert(a[0]==18); + assert(a[1]==9); + assert(a[2]==3); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/sizeof_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,6 @@ +int main(){ + int i[4]; + assert(i.length==4); + assert(i.sizeof==4*int.sizeof); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/sizeof_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,7 @@ +int main(){ + int i[]; + i.length=4; + assert(i.length==4); + assert(i.sizeof==8); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/sizeof_03.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,7 @@ +int main(){ + bit i[]; + i.length=4; + assert(i.length==4); + assert(i.sizeof==8); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/sizeof_04.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,8 @@ +int main(){ + int[char[]] array; + assert(array.sizeof == 8); + array["drei"]=3; + array["sieben"]=7; + assert(array.sizeof == 8); + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/slice_05.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,18 @@ +int main(){ + byte[] a; + a.length=2; + a[] = 1; + assert(a[0]); + assert(a[1]); + + byte[] b; + b.length=2; + assert(!b[0]); + assert(!b[1]); + + b[1..2] = a[0..1]; + assert(!b[0]); + assert(b[1]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/slice_07.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,18 @@ +int main(){ + bit[] a; + a.length=2; + a[] = true; + assert(a[0]); + assert(a[1]); + + bit[] b; + b.length=2; + assert(!b[0]); + assert(!b[1]); + + b[0..1] = a[0..1]; + assert(b[0]); + assert(!b[1]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/slice_09.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,19 @@ +int main(){ + bit[] a; + a.length=2; + a[] = true; + assert(a[0]); + assert(a[1]); + + bit[] b; + b.length=2; + assert(!b[0]); + assert(!b[1]); + + try{ + b[1..2] = a[0..1]; + }catch(Exception e){ + return 0; + } + assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/sort_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,21 @@ +int main(){ + bit a[]; + a.length=3; + a[0]=false; + a[1]=true; + a[2]=false; + + bit[] b=a.sort; + + assert(a.length==3); + assert(!a[0]); + assert(!a[1]); + assert(a[2]); + + assert(b.length==3); + assert(!b[0]); + assert(!b[1]); + assert(b[2]); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/sort_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,21 @@ +int main(){ + byte a[]; + a.length=3; + a[0]=3; + a[1]=1; + a[2]=2; + + byte[] b=a.sort; + + assert(a.length==3); + assert(a[0]==1); + assert(a[1]==2); + assert(a[2]==3); + + assert(b.length==3); + assert(b[0]==1); + assert(b[1]==2); + assert(b[2]==3); + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/unicode_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,10 @@ +int main(){ + char[] a="\u00C4"; + char[] b="\u0041\u0308"; + + if(b>a){ + assert(0); + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/unicode_02.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,10 @@ +int main(){ + char[] a="\u00C4"; + char[] b="\u0041\u0308"; + + if(b>a){ + assert(0); + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/values_01.d Sun Sep 26 15:54:31 2004 +0000 @@ -0,0 +1,25 @@ +int main(){ + int[char[]] array; + array["eins"]=1; + array["zwei"]=2; + array["drei"]=3; + + int[] data = array.values; + assert(data.length==3); + + byte have[3]; + + assert(have[0]==0); + assert(have[1]==0); + assert(have[2]==0); + + foreach(int value; data){ + have[value-1]++; + } + + assert(have[0]==1); + assert(have[1]==1); + assert(have[2]==1); + + return 0; +}