added "add(name,field)" to each bulder; added is_compatible to each NT(code is not complete)

This commit is contained in:
Marty Kraimer
2014-09-12 09:56:08 -04:00
parent 76546d22b4
commit ddee226a49
18 changed files with 264 additions and 23 deletions

View File

@ -49,6 +49,8 @@ static void test()
addAlarm()->
addTimeStamp()->
addSeverity() ->
add("extra1",fieldCreate->createScalar(pvString)) ->
add("extra2",fieldCreate->createScalarArray(pvString)) ->
create();
testOk1(multiChannel.get() != 0);
@ -120,6 +122,7 @@ static void test()
testOk1(multiChannel.get() != 0);
pvStructure = multiChannel->getPVStructure();
if(debug) {cout << *pvStructure << endl;}
testOk1(NTMultiChannel::is_compatible(pvStructure)==true);
PVStructurePtr pvTimeStamp = multiChannel->getTimeStamp();
testOk1(pvTimeStamp.get() !=0);
PVStructurePtr pvAlarm = multiChannel->getAlarm();
@ -180,7 +183,7 @@ void test_narrow()
MAIN(testCreateRequest)
{
testPlan(24);
testPlan(25);
test();
test_narrow();
return testDone();

View File

@ -13,6 +13,8 @@ using namespace epics::nt;
using namespace epics::pvData;
using std::tr1::dynamic_pointer_cast;
static FieldCreatePtr fieldCreate = getFieldCreate();
void test_builder()
{
testDiag("test_builder");
@ -25,6 +27,8 @@ void test_builder()
addDescriptor()->
addAlarm()->
addTimeStamp()->
add("extra1",fieldCreate->createScalar(pvString)) ->
add("extra2",fieldCreate->createScalarArray(pvString)) ->
createStructure();
testOk1(structure.get() != 0);
if (!structure)
@ -32,7 +36,7 @@ void test_builder()
testOk1(NTNameValue::is_a(structure));
testOk1(structure->getID() == NTNameValue::URI);
testOk1(structure->getNumberFields() == 5);
testOk1(structure->getNumberFields() == 7);
testOk1(structure->getField("names").get() != 0);
testOk1(structure->getField("values").get() != 0);
testOk1(structure->getField("descriptor").get() != 0);
@ -51,6 +55,8 @@ void test_builder()
addDescriptor()->
addAlarm()->
addTimeStamp()->
add("extra1",fieldCreate->createScalar(pvString)) ->
add("extra2",fieldCreate->createScalarArray(pvString)) ->
createStructure();
testFail("no value type set");
} catch (std::runtime_error &) {
@ -70,6 +76,8 @@ void test_ntnameValue()
addDescriptor()->
addAlarm()->
addTimeStamp()->
add("extra1",fieldCreate->createScalar(pvString)) ->
add("extra2",fieldCreate->createScalarArray(pvString)) ->
create();
testOk1(ntNameValue.get() != 0);
@ -197,6 +205,7 @@ void test_narrow()
if (!pvStructure)
return;
testOk1(NTNameValue::is_compatible(pvStructure)==true);
NTNameValuePtr ptr = NTNameValue::narrow(pvStructure);
testOk(ptr.get() != 0, "narrow OK");
@ -236,7 +245,7 @@ void test_extra()
MAIN(testNTNameValue) {
testPlan(47);
testPlan(48);
test_builder();
test_ntnameValue();
test_narrow();

View File

@ -12,6 +12,7 @@
using namespace epics::nt;
using namespace epics::pvData;
using std::tr1::dynamic_pointer_cast;
static FieldCreatePtr fieldCreate = getFieldCreate();
void test_builder()
{
@ -25,6 +26,8 @@ void test_builder()
addTimeStamp()->
addAlarm()->
addDisplay()->
add("extra1",fieldCreate->createScalar(pvString)) ->
add("extra2",fieldCreate->createScalarArray(pvString)) ->
createStructure();
testOk1(structure.get() != 0);
if (!structure)
@ -73,6 +76,7 @@ void test_narrow()
if (!pvStructure)
return;
testOk1(NTNDArray::is_compatible(pvStructure)==true);
NTNDArrayPtr ptr = NTNDArray::narrow(pvStructure);
testOk(ptr.get() != 0, "narrow OK");
@ -81,7 +85,7 @@ void test_narrow()
}
MAIN(testNTNDArray) {
testPlan(22);
testPlan(23);
test_builder();
test_narrow();
return testDone();

View File

@ -13,6 +13,8 @@ using namespace epics::nt;
using namespace epics::pvData;
using std::tr1::dynamic_pointer_cast;
static FieldCreatePtr fieldCreate = getFieldCreate();
void test_builder()
{
testDiag("test_builder");
@ -27,6 +29,8 @@ void test_builder()
addTimeStamp()->
addDisplay()->
addControl()->
add("extra1",fieldCreate->createScalar(pvString)) ->
add("extra2",fieldCreate->createScalarArray(pvString)) ->
createStructure();
testOk1(structure.get() != 0);
if (!structure)
@ -34,7 +38,7 @@ void test_builder()
testOk1(NTScalarArray::is_a(structure));
testOk1(structure->getID() == NTScalarArray::URI);
testOk1(structure->getNumberFields() == 6);
testOk1(structure->getNumberFields() == 8);
testOk1(structure->getField("value").get() != 0);
testOk1(structure->getField("descriptor").get() != 0);
testOk1(structure->getField("alarm").get() != 0);
@ -222,6 +226,7 @@ void test_narrow()
if (!pvStructure)
return;
testOk1(NTScalarArray::is_compatible(pvStructure)==true);
NTScalarArrayPtr ptr = NTScalarArray::narrow(pvStructure);
testOk(ptr.get() != 0, "narrow OK");
@ -230,7 +235,7 @@ void test_narrow()
}
MAIN(testNTScalarArray) {
testPlan(37);
testPlan(38);
test_builder();
test_ntscalarArray();
test_narrow();

View File

@ -13,6 +13,7 @@ using namespace epics::nt;
using namespace epics::pvData;
using std::tr1::dynamic_pointer_cast;
static FieldCreatePtr fieldCreate = getFieldCreate();
void test_builder()
{
testDiag("test_builder");
@ -27,6 +28,8 @@ void test_builder()
addTimeStamp()->
addDisplay()->
addControl()->
add("extra1",fieldCreate->createScalar(pvString)) ->
add("extra2",fieldCreate->createScalarArray(pvString)) ->
createStructure();
testOk1(structure.get() != 0);
if (!structure)
@ -34,7 +37,7 @@ void test_builder()
testOk1(NTScalar::is_a(structure));
testOk1(structure->getID() == NTScalar::URI);
testOk1(structure->getNumberFields() == 6);
testOk1(structure->getNumberFields() == 8);
testOk1(structure->getField("value").get() != 0);
testOk1(structure->getField("descriptor").get() != 0);
testOk1(structure->getField("alarm").get() != 0);
@ -211,6 +214,7 @@ void test_narrow()
if (!pvStructure)
return;
testOk1(NTScalar::is_compatible(pvStructure)==true);
NTScalarPtr ptr = NTScalar::narrow(pvStructure);
testOk(ptr.get() != 0, "narrow OK");
@ -219,7 +223,7 @@ void test_narrow()
}
MAIN(testNTScalar) {
testPlan(34);
testPlan(35);
test_builder();
test_ntscalar();
test_narrow();

View File

@ -12,6 +12,7 @@
using namespace epics::nt;
using namespace epics::pvData;
using std::tr1::dynamic_pointer_cast;
static FieldCreatePtr fieldCreate = getFieldCreate();
void test_builder()
{
@ -27,6 +28,8 @@ void test_builder()
addDescriptor()->
addAlarm()->
addTimeStamp()->
add("extra1",fieldCreate->createScalar(pvString)) ->
add("extra2",fieldCreate->createScalarArray(pvString)) ->
createStructure();
testOk1(structure.get() != 0);
if (!structure)
@ -84,6 +87,7 @@ void test_labels()
if (!pvStructure)
return;
testOk1(NTTable::is_compatible(pvStructure)==true);
std::cout << *pvStructure << std::endl;
PVStringArrayPtr labels = pvStructure->getSubField<PVStringArray>("labels");
@ -230,7 +234,7 @@ void test_narrow()
}
MAIN(testNTTable) {
testPlan(45);
testPlan(46);
test_builder();
test_labels();
test_nttable();