update pvD array in tests
This commit is contained in:
@@ -259,9 +259,9 @@ void testArrayType(const typename PVT::value_type* rdata, size_t len)
|
||||
|
||||
typename PVT::shared_pointer pv = std::tr1::static_pointer_cast<PVT>(getPVDataCreate()->createPVScalarArray(PVT::typeCode));
|
||||
|
||||
pv->replace(empty);
|
||||
pv->replace(freeze(empty));
|
||||
serializationTest(pv);
|
||||
pv->replace(data);
|
||||
pv->replace(freeze(data));
|
||||
serializationTest(pv);
|
||||
}
|
||||
|
||||
@@ -394,7 +394,7 @@ void testStructureArray() {
|
||||
data[1] = getPVDataCreate()->createPVStructure(getStandardField()->alarm());
|
||||
data[4] = getPVDataCreate()->createPVStructure(getStandardField()->alarm());
|
||||
|
||||
pvArr->replace(data);
|
||||
pvArr->replace(freeze(data));
|
||||
|
||||
testDiag("Some NULLs");
|
||||
serializationTest(pvArr);
|
||||
|
||||
@@ -69,7 +69,7 @@ int main(int, char**)
|
||||
PVDoubleArray::svector values(3);
|
||||
values[0] = 1.1; values[1] = 2.2; values[2] = 3.3;
|
||||
PVDoubleArrayPtr darray = std::tr1::dynamic_pointer_cast<PVDoubleArray>(pvStructure->getScalarArrayField("value", pvDouble));
|
||||
darray->replace(values);
|
||||
darray->replace(freeze(values));
|
||||
std::cout << *darray << std::endl;
|
||||
std::cout << format::array_at(1) << *darray << std::endl;
|
||||
|
||||
@@ -83,7 +83,7 @@ int main(int, char**)
|
||||
pvDataCreate->createPVStructure(structure);
|
||||
}
|
||||
PVStructureArrayPtr pvStructureArray = pvStructure->getStructureArrayField("value");
|
||||
pvStructureArray->replace(pvStructures);
|
||||
pvStructureArray->replace(freeze(pvStructures));
|
||||
std::cout << *pvStructure << std::endl;
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -53,7 +53,7 @@ static void testFactory()
|
||||
template<typename PVT>
|
||||
bool hasUniqueVector(const typename PVT::shared_pointer& pv)
|
||||
{
|
||||
typename PVT::svector data;
|
||||
typename PVT::const_svector data;
|
||||
pv->swap(data);
|
||||
bool ret = data.unique();
|
||||
pv->swap(data);
|
||||
@@ -98,22 +98,24 @@ static void testBasic()
|
||||
data.reserve(200);
|
||||
basicTestData<PVT>::fill(data);
|
||||
|
||||
testOk1(data.unique());
|
||||
arr1->replace(data);
|
||||
testOk1(!data.unique());
|
||||
typename PVT::const_svector cdata(freeze(data));
|
||||
|
||||
testOk1(cdata.unique());
|
||||
arr1->replace(cdata);
|
||||
testOk1(!cdata.unique());
|
||||
|
||||
{
|
||||
typename PVT::const_svector avoid;
|
||||
arr1->PVScalarArray::getAs<(ScalarType)ScalarTypeID<typename PVT::value_type>::value>(avoid);
|
||||
testOk1(avoid.data()==data.data());
|
||||
testOk1(avoid.data()==cdata.data());
|
||||
testOk1(avoid.data()==arr1->view().data());
|
||||
}
|
||||
|
||||
testOk1(arr1->getLength()==data.size());
|
||||
testOk1(arr1->getLength()==cdata.size());
|
||||
|
||||
testOk1(*arr1!=*arr2);
|
||||
|
||||
data.clear();
|
||||
cdata.clear();
|
||||
|
||||
testOk1(hasUniqueVector<PVT>(arr1));
|
||||
|
||||
@@ -122,11 +124,11 @@ static void testBasic()
|
||||
testOk1(*arr1==*arr2);
|
||||
testOk1(!hasUniqueVector<PVT>(arr1));
|
||||
|
||||
arr2->swap(data);
|
||||
arr2->swap(cdata);
|
||||
arr2->postPut();
|
||||
|
||||
testOk1(arr2->getLength()==0);
|
||||
testOk1(data.size()==arr1->getLength());
|
||||
testOk1(cdata.size()==arr1->getLength());
|
||||
|
||||
PVIntArray::const_svector idata;
|
||||
arr1->PVScalarArray::getAs<pvInt>(idata);
|
||||
@@ -137,7 +139,9 @@ static void testBasic()
|
||||
|
||||
wdata.at(1) = 42;
|
||||
|
||||
arr1->PVScalarArray::putFrom<pvInt>(wdata);
|
||||
idata = freeze(wdata);
|
||||
|
||||
arr1->PVScalarArray::putFrom<pvInt>(idata);
|
||||
|
||||
testOk1(castUnsafe<PVIntArray::value_type>(arr1->view()[1])==42);
|
||||
}
|
||||
@@ -149,7 +153,7 @@ static void testShare()
|
||||
PVIntArrayPtr iarr = static_pointer_cast<PVIntArray>(getPVDataCreate()->createPVScalarArray(pvInt));
|
||||
PVStringArrayPtr sarr = static_pointer_cast<PVStringArray>(getPVDataCreate()->createPVScalarArray(pvString));
|
||||
|
||||
PVIntArray::svector idata(4, 1);
|
||||
PVIntArray::const_svector idata(4, 1);
|
||||
|
||||
sarr->PVScalarArray::putFrom<pvInt>(idata); // copy and convert
|
||||
|
||||
|
||||
@@ -92,22 +92,24 @@ static void testCompress()
|
||||
contents[5] = pvDataCreate->createPVStructure(standardField->alarm());
|
||||
contents[8] = pvDataCreate->createPVStructure(standardField->alarm());
|
||||
|
||||
alarmarr->replace(contents);
|
||||
PVStructureArray::const_svector scont(freeze(contents));
|
||||
|
||||
testOk1(!contents.unique());
|
||||
alarmarr->replace(scont);
|
||||
|
||||
testOk1(!scont.unique());
|
||||
testOk1(alarmarr->getLength()==10);
|
||||
|
||||
alarmarr->compress();
|
||||
|
||||
testOk1(contents.unique()); // a realloc happened
|
||||
testOk1(scont.unique()); // a realloc happened
|
||||
testOk1(alarmarr->getLength()==4);
|
||||
|
||||
PVStructureArray::svector compressed(alarmarr->reuse());
|
||||
|
||||
testOk1(contents[2]==compressed[0]);
|
||||
testOk1(contents[4]==compressed[1]);
|
||||
testOk1(contents[5]==compressed[2]);
|
||||
testOk1(contents[8]==compressed[3]);
|
||||
testOk1(scont[2]==compressed[0]);
|
||||
testOk1(scont[4]==compressed[1]);
|
||||
testOk1(scont[5]==compressed[2]);
|
||||
testOk1(scont[8]==compressed[3]);
|
||||
}
|
||||
|
||||
static void testRemove()
|
||||
@@ -123,21 +125,23 @@ static void testRemove()
|
||||
fieldCreate->createStructureArray(standardField->alarm()));
|
||||
PVStructureArrayPtr alarmarr(pvDataCreate->createPVStructureArray(alarmtype));
|
||||
|
||||
alarmarr->replace(contents);
|
||||
PVStructureArray::const_svector scont(freeze(contents));
|
||||
|
||||
alarmarr->replace(scont);
|
||||
|
||||
alarmarr->remove(0, 10); // all
|
||||
|
||||
testOk1(alarmarr->getLength()==0);
|
||||
|
||||
alarmarr->replace(contents);
|
||||
alarmarr->replace(scont);
|
||||
|
||||
alarmarr->remove(1, 1);
|
||||
|
||||
PVStructureArray::const_svector check(alarmarr->view());
|
||||
|
||||
testOk1(contents[0]==check[0]);
|
||||
testOk1(contents[2]==check[1]);
|
||||
testOk1(contents[3]==check[2]);
|
||||
testOk1(scont[0]==check[0]);
|
||||
testOk1(scont[2]==check[1]);
|
||||
testOk1(scont[3]==check[2]);
|
||||
}
|
||||
|
||||
MAIN(testPVStructureArray)
|
||||
|
||||
@@ -76,7 +76,7 @@ int main(int, char **)
|
||||
pvDataCreate->createPVStructure(structure);
|
||||
}
|
||||
PVStructureArrayPtr pvStructureArray = pvStructure->getStructureArrayField("value");
|
||||
pvStructureArray->replace(pvStructures);
|
||||
pvStructureArray->replace(freeze(pvStructures));
|
||||
builder.clear();
|
||||
pvStructure->toString(&builder);
|
||||
print("structureArrayTest");
|
||||
|
||||
Reference in New Issue
Block a user