address the next test...

This commit is contained in:
Fischlurch 2011-11-24 03:33:23 +01:00
parent 2ae1e3c8f9
commit 74702ebecd
2 changed files with 9 additions and 5 deletions

View file

@ -52,6 +52,9 @@
namespace engine {
namespace error = lumiera::error;
using error::LUMIERA_ERROR_LIFECYCLE;
typedef size_t HashVal; ////////////TICKET #722
class BuffHandle;
@ -227,7 +230,9 @@ namespace engine {
BU&
BuffHandle::accessAs()
{
REQUIRE (pBuffer_);
if (!pBuffer_)
throw error::Logic ("buffer not (yet) locked for access by clients"
, LUMIERA_ERROR_LIFECYCLE);
return *reinterpret_cast<BU*> (pBuffer_);
}

View file

@ -76,7 +76,6 @@ namespace test {
virtual void
run (Arg)
{
UNIMPLEMENTED ("build a diagnostic buffer provider and perform a full lifecycle");
verifySimpleUsage();
verifyStandardCase();
}
@ -93,10 +92,10 @@ namespace test {
BuffHandle buff = provider.lockBufferFor<TestFrame>();
CHECK (buff.isValid());
CHECK (sizeof(TestFrame) <= buff.size());
buff.create<TestFrame>() = testData(0);
buff.accessAs<TestFrame>() = testData(0);
TestFrame& storage = buff.accessAs<TestFrame>();
CHECK (testData(0) == storage);
TestFrame& content = buff.accessAs<TestFrame>();
CHECK (testData(0) == content);
buff.release();
CHECK (!buff.isValid());