Как в gtest проверить элементы матрицы?

Пишу класс матрицу

template<class Ty, size_t N, size_t M>
class matrix {
  public:
    using value_type = Ty;
    using size_type  = size_t;

    using row_type = STD array<value_type, M>;

    using data_type = STD array<row_type, N>;

    using iterator               = typename data_type::iterator;
    using const_iterator         = typename data_type::const_iterator;
    using reverse_iterator       = typename data_type::reverse_iterator;
    using const_reverse_iterator = typename data_type::const_reverse_iterator;

  public:
    const_iterator begin() const {
      return _m_data.begin();
    }

    iterator begin() {
      return _m_data.begin();
    }

    const_iterator end() const {
      return _m_data.end();
    }

    iterator end() {
      return _m_data.end();
    }

  private:
    STD array<row_type, N> _m_data;
};

Теперь пишу тест к этому классу

#include <gmock/gmock.h>
#include <gtest/gtest.h>

#include "Container/MI.Matrix.h"

TEST(Matrix, DefaultConstructor) {
  using matrix_type = MI matrix<int, 3, 3>;
  using row_type    = matrix_type::row_type;

  matrix_type m;

  ASSERT_THAT(m, testing::ElementsAre(row_type{0, 0, 0}, row_type{0, 0, 0}, row_type{0, 0, 0}));
}

Но получаю ошибку. Как тогда правильно сравнивать элементы матрицы?


Ответы (0 шт):