code: def congruent_test_data(self):
      smoke_data = [
          dict(
              mat_1=gs.array([[1.0, 0.0], [2.0, -2]]),
              mat_2=gs.array([[0.0, -2.0], [2.0, -3]]),
              expected=gs.array([[-8.0, -20.0], [-12.0, -26.0]]),
          ),
          dict(
              mat_1=gs.array(
                  [[[0.0, 1.0], [2.0, -2]], [[1.0, 0.0], [0.0, -1]]]
              ),
              mat_2=gs.array(
                  [[[1.0, -2.0], [2.0, -3]], [[0.0, 0.0], [-1.0, -3]]]
              ),
              expected=gs.array(
                  [
                      [[-14.0, -23.0], [-22.0, -36.0]],
                      [[0.0, 0.0], [0.0, -8.0]],
                  ]
              ),
          ),
      ]
      return self.generate_tests(smoke_data)
  
imports: import math
  import geomstats.backend
  from geomstats.test.data import TestData
  from .base import MatrixVectorSpaceTestData
  from .riemannian_metric import RiemannianMetricTestData
label_desc: Use image node_id 3 for calling the MatrixOperationsSmokeTestData obj's underlying member method code with example usage: obj.congruent_test_data() and returns: self