From c4c34c1bfe568b653399cb5349ce54b5ee1c519b Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Sat, 25 May 2019 15:47:58 -0700 Subject: Augmented UnitSuite, added more to Blob, and added tests. --- src/unit/blob.unit | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 src/unit/blob.unit (limited to 'src/unit') diff --git a/src/unit/blob.unit b/src/unit/blob.unit new file mode 100644 index 0000000..645052b --- /dev/null +++ b/src/unit/blob.unit @@ -0,0 +1,118 @@ +// vim: syntax=cpp +/* + * Copyright (C) 2007-2019 Xagasoft, All rights reserved. + * + * This file is part of the libbu++ library and is released under the + * terms of the license contained in the file LICENSE. + */ + +#include "bu/blob.h" +#include "bu/exceptionindexoutofbounds.h" +#include "bu/sio.h" + +#include + +suite Blob +{ + test set + { + Bu::Blob a("hello there"); + unitTest( !strcmp( a.getData(), "hello there") ); + Bu::Blob b( a ); + a = "New string"; + unitTest( !strcmp( a.getData(), "New string") ); + unitTest( !strcmp( b.getData(), "hello there") ); + b = a; + unitTest( !strcmp( b.getData(), "New string") ); + } + + test index + { + Bu::Blob a("hello there"); + unitTest( a[5] == ' ' ); + unitTest( a[6] == 't' ); + unitTestCatch( a[-1], Bu::ExceptionIndexOutOfBounds ); + unitTestCatch( a[-100], Bu::ExceptionIndexOutOfBounds ); + unitTest( a[10] == 'e' ); + unitTestCatch( a[11], Bu::ExceptionIndexOutOfBounds ); + unitTestCatch( a[12], Bu::ExceptionIndexOutOfBounds ); + } + + test compare + { + Bu::Blob a("cat"), b("dog"), c("cattail"), d("dog"); + + unitTest( a != b ); + unitTest( a != c ); + unitTest( a != "catt" ); + unitTest( a != "ca" ); + unitTest( !(a == c) ); + unitTest( !(a == d) ); + unitTest( a == a ); + unitTest( !(a != a) ); + unitTest( !(b != d) ); + + unitTest( a < b ); + unitTest( a <= b ); + unitTest( a < c ); + unitTest( a <= c ); + unitTest( !(b < d) ); + unitTest( b <= d ); + unitTest( !(c < a) ); + + unitTest( a < "dog" ); + unitTest( a <= "dog" ); + unitTest( a < "cattail" ); + unitTest( a <= "cattail" ); + unitTest( !(b < "dog") ); + unitTest( b <= "dog" ); + unitTest( !(c < "cattail") ); + + unitTest( b > a ); + unitTest( b >= a ); + unitTest( c > a ); + unitTest( c >= a ); + unitTest( !(d > b) ); + unitTest( d <= b ); + unitTest( !(a > c) ); + + unitTest( b > "cat" ); + unitTest( b >= "cat" ); + unitTest( c > "cat" ); + unitTest( c >= "cat" ); + unitTest( !(d > "dog") ); + unitTest( d <= "dog" ); + unitTest( !(a > "cattail") ); + } + + test iterator + { + } + + test const_iterator + { + } + + test sort + { + Bu::List lList; + lList.append("Moose"); + lList.append("Cattail"); + lList.append("Cat"); + lList.append("Cattxil"); + lList.append("Moo"); + lList.append("Cattails"); + lList.append("Dog"); + + lList.sort(); + + Bu::List::iterator i = lList.begin(); + unitTest( *i == "Cat" && i++ ); + unitTest( *i == "Cattail" && i++ ); + unitTest( *i == "Cattails" && i++ ); + unitTest( *i == "Cattxil" && i++ ); + unitTest( *i == "Dog" && i++ ); + unitTest( *i == "Moo" && i++ ); + unitTest( *i == "Moose" && !(i++) ); + } +} -- cgit v1.2.3