From e358a4d17d333b92a9c8daf005df28111db99a2f Mon Sep 17 00:00:00 2001
From: bangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Date: Wed, 24 Jun 2009 18:20:01 +0000
Subject: [PATCH] Take over patches to the testsuite between 18958 and 18965
 from mainline.

git-svn-id: https://svn.dealii.org/branches/releases/Branch-6-2@18971 0785d39b-7218-0410-832d-ea1e28bc413d
---
 tests/petsc/49.cc              |   4 +-
 tests/petsc/50.cc              |   4 +-
 tests/trilinos/49.cc           |   6 +-
 tests/trilinos/49a.cc          | 104 +++++++++++++++++++++++++++++++++
 tests/trilinos/49a/cmp/generic |   2 +
 tests/trilinos/50.cc           |   4 +-
 6 files changed, 115 insertions(+), 9 deletions(-)
 create mode 100644 tests/trilinos/49a.cc
 create mode 100644 tests/trilinos/49a/cmp/generic

diff --git a/tests/petsc/49.cc b/tests/petsc/49.cc
index 59f44ccf30..f19a7bcf46 100644
--- a/tests/petsc/49.cc
+++ b/tests/petsc/49.cc
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$ 
 //
-//    Copyright (C) 2004, 2005 by the deal.II authors
+//    Copyright (C) 2004, 2005, 2009 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -12,7 +12,7 @@
 //----------------------------  petsc_49.cc  ---------------------------
 
 
-// check PETScWrappers::operator = (Vector<PetscVector>)
+// check PETScWrappers::Vector::operator = (Vector<PetscVector>)
 
 #include "../tests.h"
 #include <lac/petsc_vector.h>
diff --git a/tests/petsc/50.cc b/tests/petsc/50.cc
index 5f4f0876c9..0ac1344861 100644
--- a/tests/petsc/50.cc
+++ b/tests/petsc/50.cc
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$ 
 //
-//    Copyright (C) 2004, 2005 by the deal.II authors
+//    Copyright (C) 2004, 2005, 2009 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -12,7 +12,7 @@
 //----------------------------  petsc_50.cc  ---------------------------
 
 
-// check PETScWrappers::operator = (Vector<T>) with T!=PetscScalar
+// check PETScWrappers::Vector::operator = (Vector<T>) with T!=PetscScalar
 
 #include "../tests.h"
 #include <lac/petsc_vector.h>
diff --git a/tests/trilinos/49.cc b/tests/trilinos/49.cc
index 7fda29f65f..eae3db3c76 100644
--- a/tests/trilinos/49.cc
+++ b/tests/trilinos/49.cc
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$ 
 //
-//    Copyright (C) 2004, 2005, 2008 by the deal.II authors
+//    Copyright (C) 2004, 2005, 2008, 2009 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -12,7 +12,7 @@
 //----------------------------  trilinos_49.cc  ---------------------------
 
 
-// check TrilinosWrappers::operator = (Vector<PetscVector>)
+// check TrilinosWrappers::Vector::operator = (dealii::Vector<TrilinosScalar>)
 
 #include "../tests.h" 
 #include <base/utilities.h>
@@ -25,7 +25,7 @@
 
 void test (TrilinosWrappers::Vector &v)
 {
-  Vector<TrilinosScalar> w (v.size());
+  dealii::Vector<TrilinosScalar> w (v.size());
 
   for (unsigned int i=0; i<w.size(); ++i)
     w(i) = i;
diff --git a/tests/trilinos/49a.cc b/tests/trilinos/49a.cc
new file mode 100644
index 0000000000..0bd323e26f
--- /dev/null
+++ b/tests/trilinos/49a.cc
@@ -0,0 +1,104 @@
+//----------------------------  trilinos_49.cc  ---------------------------
+//    $Id$
+//    Version: $Name$ 
+//
+//    Copyright (C) 2004, 2005, 2008, 2009 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  trilinos_49.cc  ---------------------------
+
+
+// like 49, but do the test for
+//  TrilinosWrappers::BlockVector
+//         ::operator = (dealii::BlockVector<TrilinosScalar>)
+// with block vectors instead of plain vectors
+
+#include "../tests.h" 
+#include <base/utilities.h>
+#include <lac/trilinos_block_vector.h>
+#include <lac/block_vector.h>
+#include <fstream>
+#include <iostream>
+#include <vector>
+
+
+void test (TrilinosWrappers::BlockVector &v)
+{
+  std::vector<unsigned int> sizes (2, 3);
+  dealii::BlockVector<TrilinosScalar> w (sizes);
+
+  for (unsigned int i=0; i<w.size(); ++i)
+    w(i) = i;
+  
+  v = w;
+
+  
+                                   // make sure we get the expected result
+  for (unsigned int i=0; i<v.size(); ++i)
+    {
+      Assert (w(i) == i, ExcInternalError());
+      Assert (v(i) == i, ExcInternalError());
+    }
+
+				   // now also check the reverse assignment
+  w = 0;
+  w = v;
+  for (unsigned int i=0; i<v.size(); ++i)
+    {
+      Assert (w(i) == i, ExcInternalError());
+      Assert (v(i) == i, ExcInternalError());
+    }
+  
+  
+  deallog << "OK" << std::endl;
+}
+
+
+
+int main (int argc,char **argv) 
+{
+  std::ofstream logfile("49a/output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10); 
+
+  Utilities::System::MPI_InitFinalize mpi_initialization (argc, argv);
+
+
+  try
+    {
+      {
+	std::vector<unsigned int> sizes (2, 3);
+        TrilinosWrappers::BlockVector v (sizes);
+        test (v);
+      }
+    }
+  catch (std::exception &exc)
+    {
+      std::cerr << std::endl << std::endl
+		<< "----------------------------------------------------"
+		<< std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+		<< exc.what() << std::endl
+		<< "Aborting!" << std::endl
+		<< "----------------------------------------------------"
+		<< std::endl;
+      
+      return 1;
+    }
+  catch (...) 
+    {
+      std::cerr << std::endl << std::endl
+		<< "----------------------------------------------------"
+		<< std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+		<< "Aborting!" << std::endl
+		<< "----------------------------------------------------"
+		<< std::endl;
+      return 1;
+    };
+}
diff --git a/tests/trilinos/49a/cmp/generic b/tests/trilinos/49a/cmp/generic
new file mode 100644
index 0000000000..0fd8fc12f0
--- /dev/null
+++ b/tests/trilinos/49a/cmp/generic
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/trilinos/50.cc b/tests/trilinos/50.cc
index 8179b0f25f..301144908f 100644
--- a/tests/trilinos/50.cc
+++ b/tests/trilinos/50.cc
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$ 
 //
-//    Copyright (C) 2004, 2005, 2008 by the deal.II authors
+//    Copyright (C) 2004, 2005, 2008, 2009 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -12,7 +12,7 @@
 //----------------------------  trilinos_50.cc  ---------------------------
 
 
-// check TrilinosWrappers::operator = (Vector<T>) with T!=TrilinosScalar
+// check TrilinosWrappers::Vector::operator = (Vector<T>) with T!=TrilinosScalar
 
 #include "../tests.h" 
 #include <base/utilities.h>
-- 
2.39.5