00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <boost/test/unit_test.hpp>
00020 #include "torc/physical/Factory.hpp"
00021 #include "torc/physical/Pip.hpp"
00022
00023 namespace torc {
00024 namespace physical {
00025
00026 BOOST_AUTO_TEST_SUITE(physical)
00027
00028
00029 BOOST_AUTO_TEST_CASE(PipUnitTest) {
00030
00031 InstanceSharedPtr instancePtr = Factory::newInstancePtr("name", "type", "tile", "site",
00032 eInstanceBondingUnknown);
00033 BOOST_REQUIRE(instancePtr.get() != 0);
00034 RoutethroughSharedPtr routethroughPtr = Factory::newRoutethroughPtr("setting", "name", "value",
00035 instancePtr, "source", "sink");
00036 BOOST_REQUIRE(routethroughPtr.get() != 0);
00037
00038
00039
00040
00041
00042 std::string tile = "tile";
00043 std::string source = "source";
00044 std::string sink = "sink";
00045 EPipDirection direction = ePipUnidirectionalBuffered;
00046 Pip pip1 = Factory::newPip(tile, source, sink, direction, routethroughPtr);
00047 Pip pip2 = Factory::newPip(tile, source, sink, direction, routethroughPtr);
00048
00049
00050
00051
00052
00053
00054
00055
00056 BOOST_CHECK_EQUAL(pip1.getTileName(), tile);
00057 BOOST_CHECK_EQUAL(pip1.getSourceWireName(), source);
00058 BOOST_CHECK_EQUAL(pip1.getSinkWireName(), sink);
00059 BOOST_CHECK(pip1.getDirection() == direction);
00060 BOOST_CHECK(pip1.getDirectionString() == Pip::getDirectionString(direction));
00061 BOOST_CHECK_EQUAL("==", Pip::getDirectionString(ePipBidirectionalUnbuffered));
00062 BOOST_CHECK_EQUAL("=>", Pip::getDirectionString(ePipBidirectionalUnidirectionallyBuffered));
00063 BOOST_CHECK_EQUAL("=-", Pip::getDirectionString(ePipBidirectionalBidirectionallyBuffered));
00064 BOOST_CHECK_EQUAL("->", Pip::getDirectionString(ePipUnidirectionalBuffered));
00065
00066
00067
00068
00069 BOOST_CHECK(pip1.isRoutethrough());
00070 BOOST_CHECK(pip1.getRoutethroughPtr() == routethroughPtr);
00071
00072
00073
00074 BOOST_CHECK(pip1 == pip1);
00075 }
00076
00077 BOOST_AUTO_TEST_SUITE_END()
00078
00079 }
00080 }