KUDr@3900: /* $Id$ */ KUDr@3900: KUDr@3900: static int TestBlob1(bool silent) KUDr@3900: { KUDr@3900: typedef CBlobT Blob; KUDr@3900: int res = 0; KUDr@3900: { KUDr@3900: Blob a; KUDr@3900: Blob b; KUDr@3900: CHECK_INT(0, a.IsEmpty(), true); KUDr@3900: CHECK_INT(1, a.Size(), 0); KUDr@3900: KUDr@3900: const int nItems = 10; KUDr@3900: KUDr@3900: { KUDr@3900: for (int i = 1; i <= nItems; i++) { KUDr@3900: a.Append(i); KUDr@3900: CHECK_INT(2, a.IsEmpty(), false); KUDr@3900: CHECK_INT(3, a.Size(), i); KUDr@3900: } KUDr@3900: } KUDr@3900: KUDr@3900: { KUDr@3900: for (int i = 1; i <= nItems; i++) { KUDr@3900: CHECK_INT(4, *a.Data(i - 1), i); KUDr@3900: } KUDr@3900: } KUDr@3900: } KUDr@3900: return res; KUDr@3900: } KUDr@3900: KUDr@3900: static int TestBlob2(bool silent) KUDr@3900: { KUDr@3900: typedef CBlobT Blob; KUDr@3900: int res = 0; KUDr@3900: { KUDr@3900: Blob a; KUDr@3900: Blob b; KUDr@3900: CHECK_INT(0, a.IsEmpty(), true); KUDr@3900: CHECK_INT(1, a.Size(), 0); KUDr@3900: KUDr@3900: const int nItems = 10; KUDr@3900: KUDr@3900: { KUDr@3900: for (int i = 1; i <= nItems; i++) { KUDr@3900: a.Append(CFsaItem(i)); KUDr@3900: CHECK_INT(2, a.IsEmpty(), false); KUDr@3900: CHECK_INT(3, a.Size(), i); KUDr@3900: } KUDr@3900: } KUDr@3900: { KUDr@3900: for (int i = 1; i <= nItems; i++) { KUDr@3900: CHECK_INT(4, a.Data(i - 1)->i, i); KUDr@3900: } KUDr@3900: } KUDr@3900: CHECK_INT(15, CFsaItem::NumInstances(), nItems); KUDr@3900: } KUDr@3900: CHECK_INT(16, CFsaItem::NumInstances(), 0); KUDr@3900: KUDr@3900: return res; KUDr@3900: }