diff options
Diffstat (limited to 'UnitTests')
-rw-r--r-- | UnitTests/mcpKitTest.h | 34 | ||||
-rw-r--r-- | UnitTests/mcpKitTest.m | 85 | ||||
-rw-r--r-- | UnitTests/stringCategoryAdditionsTest.h | 32 | ||||
-rw-r--r-- | UnitTests/stringCategoryAdditionsTest.m | 54 |
4 files changed, 205 insertions, 0 deletions
diff --git a/UnitTests/mcpKitTest.h b/UnitTests/mcpKitTest.h new file mode 100644 index 00000000..f2cdea92 --- /dev/null +++ b/UnitTests/mcpKitTest.h @@ -0,0 +1,34 @@ +// +// mcpKitTest.h +// sequel-pro +// +// Created by J Knight on 17/05/09. +// Copyright 2009 J Knight. All rights reserved. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> +// + +#import <SenTestingKit/SenTestingKit.h> +#import "CMMCPConnection.h" +#import "CMMCPResult.h" + +@interface mcpKitTest : SenTestCase { + + CMMCPConnection *mySQLConnection; +} + +@end diff --git a/UnitTests/mcpKitTest.m b/UnitTests/mcpKitTest.m new file mode 100644 index 00000000..b8425dde --- /dev/null +++ b/UnitTests/mcpKitTest.m @@ -0,0 +1,85 @@ +// +// mcpKitTest.m +// sequel-pro +// +// Created by J Knight on 17/05/09. +// Copyright 2009 J Knight. All rights reserved. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> +// + +#import "mcpKitTest.h" + + +@implementation mcpKitTest + +- (void)setUp +{ + // for now, we try an find the following database in the local connection + // if the connection fails for any reasons, tests are not run. + // http://downloads.mysql.com/docs/sakila-db.zip + // set up a user called 'sakila' with no password that has all privs on the + // database 'sakila' + + mySQLConnection = [[CMMCPConnection alloc] initToSocket:@"/var/mysql/mysql.sock" + withLogin:@"sakila" + password:@""]; + + if ( ![mySQLConnection isConnected] ) { + [mySQLConnection dealloc]; + mySQLConnection = nil; + STFail(@"unable to connect with server. No tests run!"); + } else { + if ( ! [mySQLConnection selectDB:@"sakila"]) { + [mySQLConnection dealloc]; + mySQLConnection = nil; + STFail(@"unable to use `sakila` database. No tests run!"); + } + } +} + +- (void)tearDown +{ + if( mySQLConnection != nil ) { + [mySQLConnection disconnect]; + [mySQLConnection dealloc]; + } +} + +- (void)testServerVersion +{ + if( mySQLConnection == nil ) + return; + + STAssertTrue( [mySQLConnection serverMajorVersion] != 0, @"server version"); +} + + +- (void)testTableList +{ + if( mySQLConnection == nil ) + return; + + CMMCPResult *theResult; + + NSString *pQuery = @"SELECT * FROM actor"; + theResult = [mySQLConnection queryString:pQuery]; + + STAssertEquals([theResult numOfRows],(my_ulonglong)200, @"actors table count" ); +} + +@end diff --git a/UnitTests/stringCategoryAdditionsTest.h b/UnitTests/stringCategoryAdditionsTest.h new file mode 100644 index 00000000..a89f78bb --- /dev/null +++ b/UnitTests/stringCategoryAdditionsTest.h @@ -0,0 +1,32 @@ +// +// stringCategoryAdditionsTest.h +// sequel-pro +// +// Created by J Knight on 17/05/09. +// Copyright 2009 J Knight. All rights reserved. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> +// + +#import <SenTestingKit/SenTestingKit.h> + + +@interface stringCategoryAdditionsTest : SenTestCase { + +} + +@end diff --git a/UnitTests/stringCategoryAdditionsTest.m b/UnitTests/stringCategoryAdditionsTest.m new file mode 100644 index 00000000..68b27ff7 --- /dev/null +++ b/UnitTests/stringCategoryAdditionsTest.m @@ -0,0 +1,54 @@ +// +// stringCategoryAdditionsTest.m +// sequel-pro +// +// Created by J Knight on 17/05/09. +// Copyright 2009 J Knight. All rights reserved. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> +// + + +#import "stringCategoryAdditionsTest.h" +#import "SPStringAdditions.h" + +@implementation stringCategoryAdditionsTest + +- (void)setUp +{ + +} + +- (void)tearDown +{ + +} + +- (void)testStringByRemovingCharactersInSet +{ + NSCharacterSet *junk = [NSCharacterSet characterSetWithCharactersInString:@"abc',ü"]; + NSString *s = @"this is big, crazy st'ring"; + NSString *expect = @"this is ig rzy string"; + STAssertEqualObjects( [s stringByRemovingCharactersInSet:junk], expect, @"stringByRemovingCharactersInSet" ); + + // check UTF + s = @"In der Kürze liegt die Würz"; + expect = @"In der Krze liegt die Wrz"; + STAssertEqualObjects( [s stringByRemovingCharactersInSet:junk], expect, @"stringByRemovingCharactersInSet" ); +} + +@end |