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/architecture/Tilewire.hpp"
00021 #include "torc/architecture/OutputStreamHelpers.hpp"
00022
00023 namespace torc {
00024 namespace architecture {
00025 namespace xilinx {
00026
00027 BOOST_AUTO_TEST_SUITE(architecture)
00028
00029
00030 BOOST_AUTO_TEST_CASE(TilewireUnitTest) {
00031
00032 WireIndex wire1(15);
00033 WireIndex wire2(300);
00034 TileIndex tile1(1);
00035 TileIndex tile2(1);
00036
00037
00038
00039 BOOST_CHECK_EQUAL(sizeof(Tilewire), (sizeof(TileIndex) + sizeof(WireIndex)));
00040 BOOST_CHECK_EQUAL(sizeof(Tilewire), 6u);
00041
00042
00043
00044
00045
00046
00047 Tilewire tilewire1(tile1, wire1);
00048 Tilewire tilewire2(tile2, wire2);
00049 Tilewire tilewire3(tilewire1);
00050 Tilewire tilewire4 = tilewire1;
00051 Tilewire tilewire5;
00052 BOOST_CHECK_EQUAL(tilewire1 == tilewire2, false);
00053 BOOST_CHECK_EQUAL(tilewire1 == tilewire3, true);
00054
00055
00056
00057
00058
00059
00060 BOOST_CHECK_EQUAL(tilewire3.getTileIndex(), tile1);
00061 BOOST_CHECK_EQUAL(tilewire3.getWireIndex(), wire1);
00062 BOOST_CHECK_EQUAL(tilewire5.getTileIndex(), TileIndex::undefined());
00063 BOOST_CHECK_EQUAL(tilewire5.getWireIndex(), WireIndex::undefined());
00064 tilewire3.setTileIndex(tile2);
00065 tilewire3.setWireIndex(wire2);
00066 BOOST_CHECK_EQUAL(tilewire3.getTileIndex(), tile2);
00067 BOOST_CHECK_EQUAL(tilewire3.getWireIndex(), wire2);
00068
00069
00070
00071 tilewire4 = tilewire2;
00072 BOOST_CHECK_EQUAL(tilewire4.getTileIndex(), tile2);
00073 BOOST_CHECK_EQUAL(tilewire4.getWireIndex(), wire2);
00074
00075
00076
00077 BOOST_CHECK_EQUAL(tilewire1 < tilewire2, true);
00078 BOOST_CHECK_EQUAL(tilewire2 < tilewire1, false);
00079 BOOST_CHECK_EQUAL(tilewire4 < tilewire2, false);
00080 BOOST_CHECK_EQUAL(tilewire2 < tilewire4, false);
00081 }
00082
00083 BOOST_AUTO_TEST_SUITE_END()
00084
00085 }
00086 }
00087 }