changeset 180:da000f026b76

1) added InExpression tests 2) added passed/failed explanations to the summary page
author thomask
date Tue, 07 Dec 2004 12:04:08 +0000
parents 55a2c755d699
children 7f27e9811706
files nocompile/InExpression_14.d nocompile/InExpression_15.d nocompile/InExpression_16.d nocompile/InExpression_17.d nocompile/InExpression_18.d nocompile/associative_array_03.d nocompile/associative_array_04.d run/InExpression_01.d run/InExpression_02.d run/InExpression_03.d run/InExpression_04.d run/InExpression_05.d run/InExpression_06.d run/InExpression_07.d run/InExpression_08.d run/InExpression_09.d run/InExpression_10.d run/InExpression_11.d run/InExpression_12.d run/InExpression_13.d run/InExpression_19.d todo.txt
diffstat 22 files changed, 445 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/InExpression_14.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,19 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// only associative arrays support the InExpression
+
+module dstress.nocompile.InExpression_14;
+
+int main(){
+	int value = 1;
+	size_t key = 1;	
+	int[] array;
+	array.length = 20;
+
+	array[key]=value;
+	int* ptr = key in array;
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/InExpression_15.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,19 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// only associative arrays support the InExpression
+
+module dstress.nocompile.InExpression_15;
+
+class MyClass{
+	char c = 'c';
+}
+
+int main(){
+	MyClass object = new MyClass();
+
+	void* ptr = 'c' in object;
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/InExpression_16.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,19 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// only associative arrays support the InExpression
+
+module dstress.nocompile.InExpression_16;
+
+struct MyStruct{
+	char c = 'c';
+}
+
+int main(){
+	MyStruct object;
+
+	void* ptr = 'c' in object;
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/InExpression_17.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,19 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// only associative arrays support the InExpression
+
+module dstress.nocompile.InExpression_17;
+
+enum MyEnum : char{
+	c = 'c'
+}
+
+int main(){
+	MyEnum object;
+
+	void* ptr = 'c' in object;
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/InExpression_18.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,19 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// only associative arrays support the InExpression
+
+module dstress.nocompile.InExpression_18;
+
+union MyUnion{
+	char c = 'c';
+}
+
+int main(){
+	MyUnion object;
+
+	void* ptr = 'c' in object;
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/associative_array_03.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,14 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.nocompile.associative_array_03;
+
+int main(){
+	int[size_t] asso;
+	int[] array;
+
+	array = asso;
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/associative_array_04.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,14 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.nocompile.associative_array_04;
+
+int main(){
+	int[size_t] asso;
+	int[] array;
+
+	asso = array;
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_01.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,18 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_01;
+
+int main(){
+	int value=1;
+	char[] key = "eins";
+	int[char[]] array;
+	
+	array[key]=value;
+	int* ptr = key in array;
+	
+	assert( value == *ptr);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_02.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,18 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_02;
+
+int main(){
+	int value=1;
+	char[] key = "eins";
+	int[char[]] array;
+	
+	array[key]=value;
+	int* ptr = key in array;
+	
+	assert( &value == ptr);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_03.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,22 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_03;
+
+int main(){
+	int value=1;
+	char[] key = "eins";
+	int[char[]] array;
+	
+	array[key]=value;
+	int* ptr = key in array;
+	
+	assert(value == *ptr);
+
+	value++;
+
+	assert(value == *ptr);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_04.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_04;
+
+struct MyStruct{
+	int i;
+	char c;
+}
+
+int main(){
+	MyStruct value;
+	value.i = 1;
+	value.c = '1';
+	char[] key = "eins";
+	MyStruct[char[]] array;
+	
+	array[key]=value;
+	MyStruct* ptr = key in array;
+	
+	assert(value == *ptr);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_05.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_05;
+
+struct MyStruct{
+	int i;
+	char c;
+}
+
+int main(){
+	MyStruct value;
+	value.i = 1;
+	value.c = '1';
+	char[] key = "eins";
+	MyStruct[char[]] array;
+	
+	array[key]=value;
+	MyStruct* ptr = key in array;
+	
+	assert(&value == ptr);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_06.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,32 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_06;
+
+struct MyStruct{
+	int i;
+	char c;
+}
+
+int main(){
+	MyStruct value;
+	value.i = 1;
+	value.c = '1';
+	char[] key = "eins";
+	MyStruct[char[]] array;
+	
+	array[key]=value;
+	MyStruct* ptr = key in array;
+	
+	assert(value.i == ptr.i);
+	assert(value.c == ptr.c);
+
+	value.i++;
+	value.c--;
+
+	assert(value.i == ptr.i);
+	assert(value.c == ptr.c);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_07.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,32 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_07;
+
+class MyClass{
+	int i;
+	char c;
+}
+
+int main(){
+	MyClass value = new MyClass();
+	value.i = 1;
+	value.c = '1';
+	char[] key = "eins";
+	MyClass[char[]] array;
+	
+	array[key]=value;
+	MyClass* ptr = key in array;
+	
+	assert(value.i == ptr.i);
+	assert(value.c == ptr.c);
+
+	value.i++;
+	value.c--;
+
+	assert(value.i == ptr.i);
+	assert(value.c == ptr.c);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_08.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,23 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_08;
+
+class MyClass{
+	int i;
+	char c;
+}
+
+int main(){
+	MyClass value = new MyClass();
+	char[] key = "eins";
+	MyClass[char[]] array;
+	
+	array[key]=value;
+	MyClass* ptr = key in array;
+	
+	assert(&value == ptr);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_09.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,23 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_09;
+
+class MyClass{
+	int i;
+	char c;
+}
+
+int main(){
+	MyClass value = new MyClass();
+	char[] key = "eins";
+	MyClass[char[]] array;
+	
+	array[key]=value;
+	MyClass* ptr = key in array;
+	
+	assert(value == *ptr);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_10.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_10;
+
+class MyClass{
+	int i;
+	char c;
+}
+
+int main(){
+	MyClass value = new MyClass();
+	char[] key = "eins";
+	char[] copyKey;
+	copyKey = key.dup;
+	MyClass[char[]] array;
+	
+	array[key]=value;
+	MyClass* ptr = copyKey in array;
+	
+	assert(value == *ptr);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_11.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,23 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_11;
+
+class MyClass{
+	int i;
+	char c;
+}
+
+int main(){
+	MyClass value = new MyClass();
+	char[] key = "eins";
+	MyClass[char[]] array;
+	
+	array[key]=value;
+	MyClass* ptr = "zwei" in array;
+	
+	assert(ptr === null);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_12.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,23 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_12;
+
+struct MyStruct{
+	int i;
+	char c;
+}
+
+int main(){
+	MyStruct value;
+	char[] key = "eins";
+	MyStruct[char[]] array;
+	
+	array[key]=value;
+	MyStruct* ptr = "zwei" in array;
+	
+	assert(ptr === null);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_13.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,18 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_13;
+
+int main(){
+	int value = 1;
+	char[] key = "eins";
+	int[char[]] array;
+	
+	array[key]=value;
+	int* ptr = "zwei" in array;
+	
+	assert(ptr === null);
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/InExpression_19.d	Tue Dec 07 12:04:08 2004 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.InExpression_19;
+
+int main(){
+	int[char[]] array;
+
+	void* ptr = "key" in array;
+
+	assert(ptr===null);
+
+	return 0;
+}
--- a/todo.txt	Mon Dec 06 16:39:00 2004 +0000
+++ b/todo.txt	Tue Dec 07 12:04:08 2004 +0000
@@ -13,7 +13,6 @@
 Test cases:
 * keyword: asm
 * keyword: in out body
-* keyword: in (associative array)
 * keyword: cent
 * keyword: cdouble
 * keyword: cfloat