void MamaPriceTestC::SetUp(void) { /* Create a new mama price */ ASSERT_EQ (mamaPrice_create (&m_price), MAMA_STATUS_OK); /* Set the value of the price */ ASSERT_EQ (mamaPrice_setValue (m_price, 4000000000), MAMA_STATUS_OK); }
/* Description: Use the price API to set the value of a price object * Upon successful completion, the fuction will set the value attribute of the price * object to the input value. * * Expected Failures : NULL Price - MAMA STATUS INVALID ARG * * Expected Passes : With a valid price and value, the function retuns MAMA STATUS OK and updates * : the value attribute of the price to the new value * */ TEST_F (MamaPriceTestC, testSetValueMamaPrice) { double x = 100, y = 200; mama_price_hints_t hints = MAMA_PRICE_IMPL_HINT_PREC_10; mamaPrice price = CreateTestPrice(x,hints), nullPrice = NULL; EXPECT_EQ ( MAMA_STATUS_INVALID_ARG, mamaPrice_setValue(nullPrice, x) ); EXPECT_EQ ( MAMA_STATUS_OK, mamaPrice_setValue(price, y) ); EXPECT_EQ ( MAMA_STATUS_OK, mamaPrice_getValue(price, &x) ); EXPECT_EQ ( x, y ); EXPECT_EQ ( MAMA_STATUS_OK, mamaPrice_destroy(price) ); }
void populateMessageFromDictionary (mamaDictionaryImpl* impl, mamaMsg msg) { int i = 0; mama_status status = MAMA_STATUS_OK; const mama_bool_t bool_vector[] = {0}; const char char_vector[] = {' '}; const mama_i8_t i8_vector[] = {1}; const mama_u8_t u8_vector[] = {1}; const mama_i16_t i16_vector[] = {1}; const mama_u16_t u16_vector[] = {1}; const mama_i32_t i32_vector[] = {1}; const mama_u32_t u32_vector[] = {1}; const mama_i64_t i64_vector[] = {1}; const mama_u64_t u64_vector[] = {1}; const mama_f32_t f32_vector[] = {1.0f}; const mama_f64_t f64_vector[] = {1.0}; const char* string_vector[] = {" "}; mamaMsg msgArray[1]; mamaMsg tempMsg = NULL; mamaPrice price_vector[1]; mamaPrice price = NULL; mamaDateTime dateTime_vector[1]; mamaDateTime dateTime = NULL; mamaMsg_create (&tempMsg); mamaMsg_addI32 (tempMsg, NULL, 1, 0); msgArray[0] = tempMsg; mamaPrice_create (&price); mamaPrice_setValue (price,123.45); price_vector[0] = price; mamaDateTime_create (&dateTime); mamaDateTime_setToNow (dateTime); dateTime_vector[0] = dateTime; for (i=0;i<impl->mDictSize;i++) { if (impl->mDict[i]) { mamaFieldDescriptor fd = impl->mDict[i]; mama_fid_t fid = mamaFieldDescriptor_getFid (fd); const char* name = mamaFieldDescriptor_getName (fd); mamaFieldType type = mamaFieldDescriptor_getType (fd); switch (type) { case MAMA_FIELD_TYPE_MSG: ADD_TO_DICT (Msg, tempMsg); break; case MAMA_FIELD_TYPE_OPAQUE: mamaMsg_addOpaque (msg, name, fid, (void*)" ", 2); break; case MAMA_FIELD_TYPE_STRING: ADD_TO_DICT (String, ""); break; case MAMA_FIELD_TYPE_BOOL: ADD_TO_DICT (Bool, 0); break; case MAMA_FIELD_TYPE_CHAR: ADD_TO_DICT (Char, ' '); break; case MAMA_FIELD_TYPE_I8: ADD_TO_DICT (I8, 0); break; case MAMA_FIELD_TYPE_U8: ADD_TO_DICT (U8, 0); break; case MAMA_FIELD_TYPE_I16: ADD_TO_DICT (I16, 0); break; case MAMA_FIELD_TYPE_U16: ADD_TO_DICT (U16, 0); break; case MAMA_FIELD_TYPE_I32: ADD_TO_DICT (I32, 0); break; case MAMA_FIELD_TYPE_U32: ADD_TO_DICT (U32, 0); break; case MAMA_FIELD_TYPE_I64: ADD_TO_DICT (I64, 0); break; case MAMA_FIELD_TYPE_U64: ADD_TO_DICT (U64, 0); break; case MAMA_FIELD_TYPE_F32: ADD_TO_DICT (F32, 0.0f); break; case MAMA_FIELD_TYPE_F64: ADD_TO_DICT (F64, 0.0); break; case MAMA_FIELD_TYPE_TIME: ADD_TO_DICT (DateTime, dateTime); break; case MAMA_FIELD_TYPE_PRICE: ADD_TO_DICT (Price, price); break; case MAMA_FIELD_TYPE_VECTOR_BOOL: ADD_VECTOR_TO_DICT (Bool, bool_vector); break; case MAMA_FIELD_TYPE_VECTOR_CHAR: ADD_VECTOR_TO_DICT (Char, char_vector); break; case MAMA_FIELD_TYPE_VECTOR_I8: ADD_VECTOR_TO_DICT (I8, i8_vector); break; case MAMA_FIELD_TYPE_VECTOR_U8: ADD_VECTOR_TO_DICT (U8, u8_vector); break; case MAMA_FIELD_TYPE_VECTOR_I16: ADD_VECTOR_TO_DICT (I16, i16_vector); break; case MAMA_FIELD_TYPE_VECTOR_U16: ADD_VECTOR_TO_DICT (U16, u16_vector); break; case MAMA_FIELD_TYPE_VECTOR_I32: ADD_VECTOR_TO_DICT (I32, i32_vector); break; case MAMA_FIELD_TYPE_VECTOR_U32: ADD_VECTOR_TO_DICT (U32, u32_vector); break; case MAMA_FIELD_TYPE_VECTOR_I64: ADD_VECTOR_TO_DICT (I64, i64_vector); break; case MAMA_FIELD_TYPE_VECTOR_U64: ADD_VECTOR_TO_DICT (U64, u64_vector); break; case MAMA_FIELD_TYPE_VECTOR_F32: ADD_VECTOR_TO_DICT (F32, f32_vector); break; case MAMA_FIELD_TYPE_VECTOR_F64: ADD_VECTOR_TO_DICT (F64, f64_vector); break; case MAMA_FIELD_TYPE_VECTOR_STRING: ADD_VECTOR_TO_DICT (String, string_vector); break; case MAMA_FIELD_TYPE_VECTOR_MSG: ADD_VECTOR_TO_DICT (Msg, msgArray); break; case MAMA_FIELD_TYPE_VECTOR_TIME: ADD_VECTOR_TO_DICT (DateTime, dateTime_vector); break; case MAMA_FIELD_TYPE_VECTOR_PRICE: ADD_VECTOR_TO_DICT (Price, price_vector); break; default: /* error with unknown type */ mama_log (MAMA_LOG_LEVEL_NORMAL, "Could not add type to " "dict message - not supported. [%s] fid=%d name=%s", mamaFieldTypeToString (type), fid, name); break; } } } mamaPrice_destroy (price); mamaDateTime_destroy (dateTime); mamaMsg_destroy (tempMsg); }