From: Enrico Scholz Date: Thu, 17 Mar 2005 14:49:01 +0000 (+0000) Subject: added tests for Vector_searchSelfOrg() X-Git-Tag: IPSENTINEL_VERSION_0_12~100 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e40ff256e05eb4fc96a0a01e906561e6b1584dc2;p=util-vserver.git added tests for Vector_searchSelfOrg() git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1894 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/ensc_vector/testsuite/test1.c b/util-vserver/ensc_vector/testsuite/test1.c index 0faae3c..1768363 100644 --- a/util-vserver/ensc_vector/testsuite/test1.c +++ b/util-vserver/ensc_vector/testsuite/test1.c @@ -23,6 +23,7 @@ #include "ensc_vector/vector.h" #include +#include int wrapper_exit_code = 2; @@ -57,6 +58,21 @@ static int const * S(int val) return Vector_search_const(&v, &val, cmp); } +static int const * S_F(int val) +{ + return Vector_searchSelfOrg(&v, &val, cmp, vecMOVE_FRONT); +} + +static int const * S_S(int val) +{ + return Vector_searchSelfOrg(&v, &val, cmp, vecSHIFT_ONCE); +} + +static bool CMP(int const *lhs, int val) +{ + return (lhs!=0 && val==*lhs) || (lhs==0 && val==-1); +} + int main() { Vector_init(&v, sizeof(int)); @@ -120,8 +136,46 @@ int main() Vector_unique(&v, cmp); assert(Vector_count(&v)==8); assert((E(0)==0 && E(1)==1 && E(2)==2 && E(3)==3 && - E(4)==4 && E(5)==5 && E(6)==6 && E(7)==7)); + E(4)==4 && E(5)==5 && E(6)==6 && E(7)==7)); + + assert(CMP(S_F(0),0)); + assert((E(0)==0 && E(1)==1 && E(2)==2 && E(3)==3 && E(4)==4 && E(5)==5 && E(6)==6 && E(7)==7)); + + assert(CMP(S_F(1),1)); + assert((E(0)==1 && E(1)==0 && E(2)==2 && E(3)==3 && E(4)==4 && E(5)==5 && E(6)==6 && E(7)==7)); + assert(CMP(S_F(7),7)); + assert((E(0)==7 && E(1)==1 && E(2)==0 && E(3)==2 && E(4)==3 && E(5)==4 && E(6)==5 && E(7)==6)); + + assert(CMP(S_F(3),3)); + assert((E(0)==3 && E(1)==7 && E(2)==1 && E(3)==0 && E(4)==2 && E(5)==4 && E(6)==5 && E(7)==6)); + + assert(CMP(S_F(3),3)); + assert((E(0)==3 && E(1)==7 && E(2)==1 && E(3)==0 && E(4)==2 && E(5)==4 && E(6)==5 && E(7)==6)); + + assert(CMP(S_F(42), -1)); + assert((E(0)==3 && E(1)==7 && E(2)==1 && E(3)==0 && E(4)==2 && E(5)==4 && E(6)==5 && E(7)==6)); + + + assert(CMP(S_S(6), 6)); + assert((E(0)==3 && E(1)==7 && E(2)==1 && E(3)==0 && E(4)==2 && E(5)==4 && E(6)==6 && E(7)==5)); + + assert(CMP(S_S(6), 6)); + assert((E(0)==3 && E(1)==7 && E(2)==1 && E(3)==0 && E(4)==2 && E(5)==6 && E(6)==4 && E(7)==5)); + + assert(CMP(S_S(6), 6)); + assert((E(0)==3 && E(1)==7 && E(2)==1 && E(3)==0 && E(4)==6 && E(5)==2 && E(6)==4 && E(7)==5)); + + assert(CMP(S_S(7), 7)); + assert((E(0)==7 && E(1)==3 && E(2)==1 && E(3)==0 && E(4)==6 && E(5)==2 && E(6)==4 && E(7)==5)); + + assert(CMP(S_S(7), 7)); + assert((E(0)==7 && E(1)==3 && E(2)==1 && E(3)==0 && E(4)==6 && E(5)==2 && E(6)==4 && E(7)==5)); + + assert(CMP(S_S(42), -1)); + assert((E(0)==7 && E(1)==3 && E(2)==1 && E(3)==0 && E(4)==6 && E(5)==2 && E(6)==4 && E(7)==5)); + + Vector_free(&v); return 0;