Skip to content

Commit

Permalink
Add basic json serialization test
Browse files Browse the repository at this point in the history
  • Loading branch information
lisitsyn authored and vigsterkr committed Jul 23, 2018
1 parent 488ebc5 commit bac1869
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/shogun/io/serialization/Serializer.h
Expand Up @@ -15,7 +15,7 @@ namespace shogun
public:
CSerializer();
virtual ~CSerializer();
virtual void attach(Some<COutputStream> stream)
virtual void attach(Some<COutputStream> stream);
virtual void write(Some<CSGObject> object) = 0;
Some<COutputStream> stream() const;

Expand Down
37 changes: 37 additions & 0 deletions tests/unit/io/JsonSerialization_unittest.cc
@@ -0,0 +1,37 @@
#include <shogun/io/serialization/JsonDeserializer.h>
#include <shogun/io/serialization/JsonSerializer.h>

#include <algorithm>
#include <iostream>

#include <gtest/gtest.h>

using namespace shogun;

class CDummyOutputStream : public COutputStream
{
public:
CDummyOutputStream() : COutputStream(), m_buffer()
{
}
void write(void* buffer, size_t size)
{
std::copy(
(char*)buffer, (char*)buffer + size, std::back_inserter(m_buffer));
}
virtual const char* get_name() const
{
return "DummyOutputStream";
}

private:
std::vector<char> m_buffer;
};

TEST(JsonSerialization, basic_serializer)
{
auto serializer = some<CJsonSerializer>();
auto stream = some<CDummyOutputStream>();
serializer->attach(stream);
serializer->write(serializer);
}

0 comments on commit bac1869

Please sign in to comment.