summaryrefslogtreecommitdiff
path: root/yapf/unittest/test_blob.h
diff options
context:
space:
mode:
Diffstat (limited to 'yapf/unittest/test_blob.h')
-rw-r--r--yapf/unittest/test_blob.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/yapf/unittest/test_blob.h b/yapf/unittest/test_blob.h
new file mode 100644
index 000000000..5f266b0f7
--- /dev/null
+++ b/yapf/unittest/test_blob.h
@@ -0,0 +1,61 @@
+/* $Id$ */
+
+static int TestBlob1(bool silent)
+{
+ typedef CBlobT<int64> Blob;
+ int res = 0;
+ {
+ Blob a;
+ Blob b;
+ CHECK_INT(0, a.IsEmpty(), true);
+ CHECK_INT(1, a.Size(), 0);
+
+ const int nItems = 10;
+
+ {
+ for (int i = 1; i <= nItems; i++) {
+ a.Append(i);
+ CHECK_INT(2, a.IsEmpty(), false);
+ CHECK_INT(3, a.Size(), i);
+ }
+ }
+
+ {
+ for (int i = 1; i <= nItems; i++) {
+ CHECK_INT(4, *a.Data(i - 1), i);
+ }
+ }
+ }
+ return res;
+}
+
+static int TestBlob2(bool silent)
+{
+ typedef CBlobT<CFsaItem> Blob;
+ int res = 0;
+ {
+ Blob a;
+ Blob b;
+ CHECK_INT(0, a.IsEmpty(), true);
+ CHECK_INT(1, a.Size(), 0);
+
+ const int nItems = 10;
+
+ {
+ for (int i = 1; i <= nItems; i++) {
+ a.Append(CFsaItem(i));
+ CHECK_INT(2, a.IsEmpty(), false);
+ CHECK_INT(3, a.Size(), i);
+ }
+ }
+ {
+ for (int i = 1; i <= nItems; i++) {
+ CHECK_INT(4, a.Data(i - 1)->i, i);
+ }
+ }
+ CHECK_INT(15, CFsaItem::NumInstances(), nItems);
+ }
+ CHECK_INT(16, CFsaItem::NumInstances(), 0);
+
+ return res;
+}