update pvD array in tests

This commit is contained in:
Michael Davidsaver
2013-07-25 17:30:33 -04:00
parent 8fd9bf10e5
commit b5b6ae100d
5 changed files with 37 additions and 29 deletions

View File

@@ -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);

View File

@@ -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;

View File

@@ -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

View File

@@ -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)

View File

@@ -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");