1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
#define BOOST_TEST_MODULE PresentationContextRQ
#include <boost/test/unit_test.hpp>
#include <sstream>
#include <string>
#include <vector>
#include "odil/Exception.h"
#include "odil/pdu/PresentationContextRQ.h"
std::string const data(
"\x20\x00\x00\x25"
"\x03\x00\x00\x00"
"\x30\x00\x00\x0f""abstract_syntax"
"\x40\x00\x00\x03""ts1"
"\x40\x00\x00\x03""ts2",
41
);
BOOST_AUTO_TEST_CASE(Constructor)
{
odil::pdu::PresentationContextRQ const context(
1, "abstract_syntax", {"ts1", "ts2"});
BOOST_REQUIRE_EQUAL(context.get_item_type(), 0x20);
BOOST_REQUIRE_EQUAL(context.get_id(), 1);
BOOST_REQUIRE_EQUAL(context.get_abstract_syntax(), "abstract_syntax");
BOOST_REQUIRE(
context.get_transfer_syntaxes() ==
std::vector<std::string>({"ts1", "ts2"}));
}
BOOST_AUTO_TEST_CASE(Id)
{
odil::pdu::PresentationContextRQ context(
1, "abstract_syntax", {"ts1", "ts2"});
context.set_id(123);
BOOST_REQUIRE_EQUAL(context.get_id(), 123);
}
BOOST_AUTO_TEST_CASE(AbstractSyntax)
{
odil::pdu::PresentationContextRQ context(
1, "abstract_syntax", {"ts1", "ts2"});
context.set_abstract_syntax("foo");
BOOST_REQUIRE_EQUAL(context.get_abstract_syntax(), "foo");
}
BOOST_AUTO_TEST_CASE(TransferSyntaxes)
{
odil::pdu::PresentationContextRQ context(
1, "abstract_syntax", {"ts1", "ts2"});
context.set_transfer_syntaxes({"foo", "bar"});
BOOST_REQUIRE(
context.get_transfer_syntaxes() ==
std::vector<std::string>({"foo", "bar"}));
}
BOOST_AUTO_TEST_CASE(Write)
{
odil::pdu::PresentationContextRQ context(
3, "abstract_syntax", {"ts1", "ts2"});
std::ostringstream stream;
stream << context;
BOOST_REQUIRE_EQUAL(stream.str(), data);
}
BOOST_AUTO_TEST_CASE(Read)
{
std::istringstream stream(data);
odil::pdu::PresentationContextRQ const context(stream);
BOOST_REQUIRE_EQUAL(context.get_item_type(), 0x20);
BOOST_REQUIRE_EQUAL(context.get_id(), 3);
BOOST_REQUIRE_EQUAL(context.get_abstract_syntax(), "abstract_syntax");
BOOST_REQUIRE(
context.get_transfer_syntaxes() ==
std::vector<std::string>({"ts1", "ts2"}));
}
|