]> gitweb.michael.orlitzky.com - dunshire.git/commitdiff
Improve the two no-clobber tests with deepcopy().
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 1 Nov 2016 22:01:51 +0000 (18:01 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 1 Nov 2016 22:01:51 +0000 (18:01 -0400)
test/matrices_test.py

index ce57c7dc32a845b38af4dbad75e362c9e1da9b6f..49d8be98c8c409329f26f3282f80fb14dcb419c4 100644 (file)
@@ -2,7 +2,7 @@
 Unit tests for the functions in the ``matrices`` module.
 """
 
-from copy import copy
+from copy import deepcopy
 from unittest import TestCase
 
 from dunshire.matrices import (append_col, append_row, condition_number,
@@ -67,10 +67,15 @@ class EigenvaluesTest(TestCase):
         overwrite the matrices that you pass into them as
         arguments. This test makes sure that our :func:`eigenvalues`
         function does not do the same.
+
+        We use a ``deepcopy`` here in case the ``copy`` used in the
+        :func:`eigenvalues` function is insufficient. If ``copy`` didn't
+        work and this test used it too, then this test would pass when
+        it shouldn't.
         """
         mat = random_matrix(random_natural())
         symmat = mat + mat.trans()
-        symmat_copy = copy(symmat)
+        symmat_copy = deepcopy(symmat)
         dummy = eigenvalues(symmat)
         self.assertTrue(norm(symmat - symmat_copy) < ABS_TOL)
 
@@ -107,9 +112,14 @@ class EigenvaluesRealPartTest(TestCase):
         overwrite the matrices that you pass into them as
         arguments. This test makes sure that our :func:`eigenvalues_re`
         function does not do the same.
+
+        We use a ``deepcopy`` here in case the ``copy`` used in the
+        :func:`eigenvalues_re` function is insufficient. If ``copy`` didn't
+        work and this test used it too, then this test would pass when
+        it shouldn't.
         """
         mat = random_matrix(random_natural())
-        mat_copy = copy(mat)
+        mat_copy = deepcopy(mat)
         dummy = eigenvalues_re(mat)
         self.assertTrue(norm(mat - mat_copy) < ABS_TOL)