🐛 re-added support for std::valarray #702
This commit is contained in:
parent
41b2c69bdb
commit
9fd031b6f4
4 changed files with 113 additions and 5 deletions
|
|
@ -38,6 +38,7 @@ using nlohmann::json;
|
|||
#include <list>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <valarray>
|
||||
|
||||
TEST_CASE("constructors")
|
||||
{
|
||||
|
|
@ -311,6 +312,36 @@ TEST_CASE("constructors")
|
|||
CHECK(a2 == a);
|
||||
}
|
||||
|
||||
SECTION("std::valarray<int>")
|
||||
{
|
||||
std::valarray<int> va = {1, 2, 3, 4, 5};
|
||||
json j(va);
|
||||
CHECK(j.type() == json::value_t::array);
|
||||
CHECK(j == json({1, 2, 3, 4, 5}));
|
||||
|
||||
std::valarray<int> jva = j;
|
||||
CHECK(jva.size() == va.size());
|
||||
for (size_t i = 0; i < jva.size(); ++i)
|
||||
{
|
||||
CHECK(va[i] == jva[i]);
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("std::valarray<double>")
|
||||
{
|
||||
std::valarray<double> va = {1.2, 2.3, 3.4, 4.5, 5.6};
|
||||
json j(va);
|
||||
CHECK(j.type() == json::value_t::array);
|
||||
CHECK(j == json({1.2, 2.3, 3.4, 4.5, 5.6}));
|
||||
|
||||
std::valarray<double> jva = j;
|
||||
CHECK(jva.size() == va.size());
|
||||
for (size_t i = 0; i < jva.size(); ++i)
|
||||
{
|
||||
CHECK(va[i] == jva[i]);
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("std::vector<json>")
|
||||
{
|
||||
std::vector<json> a {json(1), json(1u), json(2.2), json(false), json("string"), json()};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue