 		CUDA_CHECK_ERRORS();
 		CUDA_CALL( cudaDeviceSynchronize() );
 
-		std::vector<int> hostResults;
+		std::vector<int> hostResults( 100 );
 		deviceResults >> hostResults;
 		bool passed = true;
 		for( std::vector<bool>::size_type i = 0; i < hostResults.size(); ++i ) if( hostResults[i] != 1 ) passed = false;

		kernel_testFillAndSwap<<<1,1>>>( deviceArray1, deviceArray2 );
		CUDA_CHECK_ERRORS();
		CUDA_CALL( cudaDeviceSynchronize() );
		std::vector<int> hostArray;
		deviceArray2 >> hostArray;
		bool passed = true;
		for( std::vector<int>::size_type i = 0; i < hostArray.size(); ++i ) if( hostArray[i] != 3 ) passed = false;

	std::cerr << "Test 1" << std::endl;
	{
		ecuda::array<int,100> deviceArray( 3 ); // array filled with number 3
		std::vector<int> hostVector( 100 );
		deviceArray >> hostVector;
		bool passed = true;
		if( deviceArray.size() == 100 and hostVector.size() == deviceArray.size() ) {
