1//------------------------------------------------------------------------------ 2// MessageInt32ItemTest.cpp 3// 4//------------------------------------------------------------------------------ 5 6// Standard Includes ----------------------------------------------------------- 7#include <stdio.h> 8#include <posix/string.h> 9 10// System Includes ------------------------------------------------------------- 11#include <Message.h> 12 13// Project Includes ------------------------------------------------------------ 14 15// Local Includes -------------------------------------------------------------- 16#include "MessageInt32ItemTest.h" 17 18// Local Defines --------------------------------------------------------------- 19 20// Globals --------------------------------------------------------------------- 21 22#ifndef USE_TEMPLATES 23//------------------------------------------------------------------------------ 24void TMessageInt32ItemTest::MessageInt32ItemTest1() 25{ 26 BMessage msg; 27 int32 out = 0; 28 CPPUNIT_ASSERT(msg.FindInt32("an int32", &out) == B_NAME_NOT_FOUND); 29 CPPUNIT_ASSERT(out == 0); 30 CPPUNIT_ASSERT(msg.FindInt32("an int32") == 0); 31 CPPUNIT_ASSERT(!msg.HasInt32("an int32")); 32 const void* ptr = &out; 33 ssize_t size; 34 CPPUNIT_ASSERT(msg.FindData("an int32", B_INT32_TYPE, &ptr, &size) == 35 B_NAME_NOT_FOUND); 36 CPPUNIT_ASSERT(ptr == NULL); 37} 38//------------------------------------------------------------------------------ 39void TMessageInt32ItemTest::MessageInt32ItemTest2() 40{ 41 BMessage msg; 42 int32 in = 1234; 43 int32 out = 0; 44 CPPUNIT_ASSERT(msg.AddInt32("an int32", in) == B_OK); 45 CPPUNIT_ASSERT(msg.HasInt32("an int32")); 46 CPPUNIT_ASSERT(msg.FindInt32("an int32") == in); 47 CPPUNIT_ASSERT(msg.FindInt32("an int32", &out) == B_OK); 48 CPPUNIT_ASSERT(out == in); 49 int32* pout; 50 ssize_t size; 51 CPPUNIT_ASSERT(msg.FindData("an int32", B_INT32_TYPE, (const void**)&pout, 52 &size) == B_OK); 53 CPPUNIT_ASSERT(*pout == in); 54 CPPUNIT_ASSERT(size == sizeof (int32)); 55} 56//------------------------------------------------------------------------------ 57void TMessageInt32ItemTest::MessageInt32ItemTest3() 58{ 59 BMessage msg; 60 int32 in = 1234; 61 int32 in2 = 7890; 62 int32 out = 0; 63 CPPUNIT_ASSERT(msg.AddInt32("an int32", in) == B_OK); 64 CPPUNIT_ASSERT(msg.ReplaceInt32("an int32", in2) == B_OK); 65 CPPUNIT_ASSERT(msg.HasInt32("an int32")); 66 CPPUNIT_ASSERT(msg.FindInt32("an int32") == in2); 67 CPPUNIT_ASSERT(msg.FindInt32("an int32", &out) == B_OK); 68 CPPUNIT_ASSERT(out == in2); 69 out = 0; 70 int32* pout; 71 ssize_t size; 72 CPPUNIT_ASSERT(msg.FindData("an int32", B_INT32_TYPE, (const void**)&pout, 73 &size) == B_OK); 74 CPPUNIT_ASSERT(*pout == in2); 75 CPPUNIT_ASSERT(size == sizeof (int32)); 76} 77//------------------------------------------------------------------------------ 78void TMessageInt32ItemTest::MessageInt32ItemTest4() 79{ 80 BMessage msg; 81 int32 out = 0; 82 CPPUNIT_ASSERT(msg.FindInt32("an int32", 1, &out) == B_NAME_NOT_FOUND); 83 CPPUNIT_ASSERT(out == 0); 84 CPPUNIT_ASSERT(msg.FindInt32("an int32", 1) == 0); 85 CPPUNIT_ASSERT(!msg.HasInt32("an int32", 1)); 86 const void* ptr = &out; 87 ssize_t size; 88 CPPUNIT_ASSERT(msg.FindData("an int32", B_INT32_TYPE, 1, &ptr, &size) == 89 B_NAME_NOT_FOUND); 90 CPPUNIT_ASSERT(ptr == NULL); 91} 92//------------------------------------------------------------------------------ 93void TMessageInt32ItemTest::MessageInt32ItemTest5() 94{ 95 BMessage msg; 96 int32 in[] = { 123, 456, 789 }; 97 int32 out = 0; 98 int32* pout; 99 ssize_t size; 100 101 for (int32 i = 0; i < sizeof (in) / sizeof (int32); ++i) 102 { 103 CPPUNIT_ASSERT(msg.AddInt32("an int32", in[i]) == B_OK); 104 } 105 106 for (int32 i = 0; i < sizeof (in) / sizeof (int32); ++i) 107 { 108 CPPUNIT_ASSERT(msg.HasInt32("an int32", i)); 109 CPPUNIT_ASSERT(msg.FindInt32("an int32", i) == in[i]); 110 CPPUNIT_ASSERT(msg.FindInt32("an int32", i, &out) == B_OK); 111 CPPUNIT_ASSERT(out == in[i]); 112 CPPUNIT_ASSERT(msg.FindData("an int32", B_INT32_TYPE, i, 113 (const void**)&pout, &size) == B_OK); 114 CPPUNIT_ASSERT(*pout == in[i]); 115 CPPUNIT_ASSERT(size == sizeof (int32)); 116 } 117} 118//------------------------------------------------------------------------------ 119void TMessageInt32ItemTest::MessageInt32ItemTest6() 120{ 121 BMessage msg; 122 int32 in[] = { 123, 456, 789 }; 123 int32 in2 = 654; 124 int32 out = 0; 125 const int rIndex = 2; 126 127 for (int32 i = 0; i < sizeof (in) / sizeof (int32); ++i) 128 { 129 CPPUNIT_ASSERT(msg.AddInt32("an int32", in[i]) == B_OK); 130 } 131 132 CPPUNIT_ASSERT(msg.ReplaceInt32("an int32", rIndex, in2) == B_OK); 133 CPPUNIT_ASSERT(msg.HasInt32("an int32", rIndex)); 134 CPPUNIT_ASSERT(msg.FindInt32("an int32", rIndex) == in2); 135 CPPUNIT_ASSERT(msg.FindInt32("an int32", rIndex, &out) == B_OK); 136 CPPUNIT_ASSERT(out == in2); 137 out = 0; 138 int32* pout; 139 ssize_t size; 140 CPPUNIT_ASSERT(msg.FindData("an int32", B_INT32_TYPE, rIndex, 141 (const void**)&pout, &size) == B_OK); 142 CPPUNIT_ASSERT(*pout == in2); 143 CPPUNIT_ASSERT(size == sizeof (int32)); 144} 145//------------------------------------------------------------------------------ 146void TMessageInt32ItemTest::MessageInt32ItemTest7() 147{ 148 BMessage msg; 149 int32 in = 1234; 150 int32 out = 0; 151 CPPUNIT_ASSERT(msg.AddData("an int32", B_INT32_TYPE, (const void*)&in, 152 sizeof (int32)) == B_OK); 153 CPPUNIT_ASSERT(msg.HasInt32("an int32")); 154 CPPUNIT_ASSERT(msg.FindInt32("an int32") == in); 155 CPPUNIT_ASSERT(msg.FindInt32("an int32", &out) == B_OK); 156 CPPUNIT_ASSERT(out == in); 157 int32* pout; 158 ssize_t size; 159 CPPUNIT_ASSERT(msg.FindData("an int32", B_INT32_TYPE, (const void**)&pout, 160 &size) == B_OK); 161 CPPUNIT_ASSERT(*pout == in); 162 CPPUNIT_ASSERT(size == sizeof (int32)); 163} 164//------------------------------------------------------------------------------ 165void TMessageInt32ItemTest::MessageInt32ItemTest8() 166{ 167 BMessage msg; 168 int32 in[] = { 123, 456, 789 }; 169 int32 out = 0; 170 int32* pout; 171 ssize_t size; 172 173 for (int32 i = 0; i < sizeof (in) / sizeof (int32); ++i) 174 { 175 CPPUNIT_ASSERT(msg.AddData("an int32", B_INT32_TYPE, 176 (const void*)&in[i], sizeof (int32)) == B_OK); 177 } 178 179 for (int32 i = 0; i < sizeof (in) / sizeof (int32); ++i) 180 { 181 CPPUNIT_ASSERT(msg.HasInt32("an int32", i)); 182 CPPUNIT_ASSERT(msg.FindInt32("an int32", i) == in[i]); 183 CPPUNIT_ASSERT(msg.FindInt32("an int32", i, &out) == B_OK); 184 CPPUNIT_ASSERT(out == in[i]); 185 CPPUNIT_ASSERT(msg.FindData("an int32", B_INT32_TYPE, i, 186 (const void**)&pout, &size) == B_OK); 187 CPPUNIT_ASSERT(*pout == in[i]); 188 CPPUNIT_ASSERT(size == sizeof (int32)); 189 } 190} 191//------------------------------------------------------------------------------ 192TestSuite* TMessageInt32ItemTest::Suite() 193{ 194 TestSuite* suite = new TestSuite("BMessage::Add/Find/Replace/HasRect()"); 195 196 ADD_TEST4(BMessage, suite, TMessageInt32ItemTest, MessageInt32ItemTest1); 197 ADD_TEST4(BMessage, suite, TMessageInt32ItemTest, MessageInt32ItemTest2); 198 ADD_TEST4(BMessage, suite, TMessageInt32ItemTest, MessageInt32ItemTest3); 199 ADD_TEST4(BMessage, suite, TMessageInt32ItemTest, MessageInt32ItemTest4); 200 ADD_TEST4(BMessage, suite, TMessageInt32ItemTest, MessageInt32ItemTest5); 201 ADD_TEST4(BMessage, suite, TMessageInt32ItemTest, MessageInt32ItemTest6); 202 ADD_TEST4(BMessage, suite, TMessageInt32ItemTest, MessageInt32ItemTest7); 203 ADD_TEST4(BMessage, suite, TMessageInt32ItemTest, MessageInt32ItemTest8); 204 205 return suite; 206} 207//------------------------------------------------------------------------------ 208#endif 209 210/* 211 * $Log $ 212 * 213 * $Id $ 214 * 215 */ 216 217