diff options
Diffstat (limited to 'akregator/src/mk4storage/metakit/tests/tdiffer.cpp')
-rw-r--r-- | akregator/src/mk4storage/metakit/tests/tdiffer.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/akregator/src/mk4storage/metakit/tests/tdiffer.cpp b/akregator/src/mk4storage/metakit/tests/tdiffer.cpp new file mode 100644 index 00000000..16dc97c3 --- /dev/null +++ b/akregator/src/mk4storage/metakit/tests/tdiffer.cpp @@ -0,0 +1,52 @@ +// tdiffer.cpp -- Regression test program, differential commit tests +// $Id$ +// This is part of Metakit, see http://www.equi4.com/metakit/ + +#include "regress.h" + +void TestDiffer() +{ + B(d01, Commit aside, 0) W(d01a); W(d01b); + { + c4_IntProp p1 ("p1"); + { + c4_Storage s1 ("d01a", 1); + A(s1.Strategy().FileSize() == 0); + c4_View v1 = s1.GetAs("a[p1:I]"); + v1.Add(p1 [123]); + s1.Commit(); + } + { + c4_Storage s1 ("d01a", 0); + c4_Storage s2 ("d01b", 1); + s1.SetAside(s2); + c4_View v1 = s1.View("a"); + A(v1.GetSize() == 1); + A(p1 (v1[0]) == 123); + v1.Add(p1 [456]); + A(v1.GetSize() == 2); + A(p1 (v1[0]) == 123); + A(p1 (v1[1]) == 456); + s1.Commit(); + A(v1.GetSize() == 2); + A(p1 (v1[0]) == 123); + A(p1 (v1[1]) == 456); + s2.Commit(); + A(v1.GetSize() == 2); + A(p1 (v1[0]) == 123); + A(p1 (v1[1]) == 456); + } + { + c4_Storage s1 ("d01a", 0); + c4_View v1 = s1.View("a"); + A(v1.GetSize() == 1); + A(p1 (v1[0]) == 123); + c4_Storage s2 ("d01b", 0); + s1.SetAside(s2); + c4_View v2 = s1.View("a"); + A(v2.GetSize() == 2); + A(p1 (v2[0]) == 123); + A(p1 (v2[1]) == 456); + } + } D(d01a); D(d01b); R(d01a); R(d01b); E; +} |