diff --git a/src/mesh/ItemArray.hpp b/src/mesh/ItemArray.hpp index 3bd7de633659e81eb8fc178f275ee76a449048cf..0033bb24eb99e3e50739ac25a954cca808665746 100644 --- a/src/mesh/ItemArray.hpp +++ b/src/mesh/ItemArray.hpp @@ -171,6 +171,13 @@ class ItemArray return *this; } + friend std::ostream& + operator<<(std::ostream& os, const ItemArray& item_array) + { + os << item_array.m_values; + return os; + } + template <typename DataType2, typename ConnectivityPtr2> PUGS_INLINE ItemArray(const ItemArray<DataType2, item_type, ConnectivityPtr2>& array_per_item) noexcept diff --git a/src/mesh/ItemValue.hpp b/src/mesh/ItemValue.hpp index 981ebcc196d4d637d9e775231fe14edc8a70a2f2..1b888e704c530d693660fc9ced3138affe740b10 100644 --- a/src/mesh/ItemValue.hpp +++ b/src/mesh/ItemValue.hpp @@ -159,6 +159,13 @@ class ItemValue return *this; } + friend std::ostream& + operator<<(std::ostream& os, const ItemValue& item_value) + { + os << item_value.m_values; + return os; + } + template <typename DataType2, typename ConnectivityPtr2> PUGS_INLINE ItemValue(const ItemValue<DataType2, item_type, ConnectivityPtr2>& value_per_item) noexcept diff --git a/src/utils/Socket.cpp b/src/utils/Socket.cpp index 3582e359be22a257b2b52109f7a3ed57b2944a1b..617f6e167892c14bc0f5484d3740e0cd07f9f28c 100644 --- a/src/utils/Socket.cpp +++ b/src/utils/Socket.cpp @@ -63,7 +63,7 @@ class Socket::Internals int portNumber() const { - return ::ntohs(m_address.sin_port); + return ntohs(m_address.sin_port); } int @@ -180,7 +180,7 @@ connectServerSocket(const std::string& server_name, int port_number) ::memcpy(reinterpret_cast<char*>(&serv_addr.sin_addr.s_addr), reinterpret_cast<char*>(server->h_addr), server->h_length); - serv_addr.sin_port = ::htons(port_number); + serv_addr.sin_port = htons(port_number); if (::connect(socket_internals.m_socket_fd, reinterpret_cast<sockaddr*>(&serv_addr), sizeof(serv_addr))) { throw NormalError(strerror(errno)); diff --git a/tests/test_ItemArray.cpp b/tests/test_ItemArray.cpp index 9b3b95fded76400eb5953d4a3d70f50481dadde8..cf59acf9097d36874ba81804f8862f2623e383bd 100644 --- a/tests/test_ItemArray.cpp +++ b/tests/test_ItemArray.cpp @@ -271,6 +271,27 @@ TEST_CASE("ItemArray", "[mesh]") } } + SECTION("output") + { + auto mesh = MeshDataBaseForTests::get().unordered1DMesh(); + + Table<int> table{mesh->numberOfCells(), 3}; + for (size_t i = 0; i < table.numberOfRows(); ++i) { + for (size_t j = 0; j < table.numberOfColumns(); ++j) { + table(i, j) = 2 * i + 1 + 3 * j; + } + } + + CellArray<int> cell_array{mesh->connectivity(), 3}; + cell_array = table; + + std::ostringstream table_ost; + table_ost << table; + std::ostringstream cell_array_ost; + cell_array_ost << cell_array; + REQUIRE(table_ost.str() == cell_array_ost.str()); + } + #ifndef NDEBUG SECTION("error") { diff --git a/tests/test_ItemValue.cpp b/tests/test_ItemValue.cpp index 5ec3fdb892eb5474b80381a250d1f2dc487574de..fcea4247018a69bb15855b03e45cb5f8df6e9bd6 100644 --- a/tests/test_ItemValue.cpp +++ b/tests/test_ItemValue.cpp @@ -218,6 +218,25 @@ TEST_CASE("ItemValue", "[mesh]") } } + SECTION("output") + { + auto mesh = MeshDataBaseForTests::get().unordered1DMesh(); + + Array<int> array{mesh->numberOfCells()}; + for (size_t i = 0; i < array.size(); ++i) { + array[i] = 2 * i + 1; + } + + CellValue<int> cell_value{mesh->connectivity()}; + cell_value = array; + + std::ostringstream array_ost; + array_ost << array; + std::ostringstream cell_value_ost; + cell_value_ost << cell_value; + REQUIRE(array_ost.str() == cell_value_ost.str()); + } + #ifndef NDEBUG SECTION("error") {