diff options
-rw-r--r-- | Unit Tests-Info.plist | 20 | ||||
-rw-r--r-- | Unit Tests/mcpKitTest.h | 18 | ||||
-rw-r--r-- | Unit Tests/mcpKitTest.m | 61 | ||||
-rw-r--r-- | Unit Tests/stringCategoryAdditionsTest.h | 32 | ||||
-rw-r--r-- | Unit Tests/stringCategoryAdditionsTest.m | 54 |
5 files changed, 185 insertions, 0 deletions
diff --git a/Unit Tests-Info.plist b/Unit Tests-Info.plist new file mode 100644 index 00000000..65013556 --- /dev/null +++ b/Unit Tests-Info.plist @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIdentifier</key> + <string>com.yourcompany.${PRODUCT_NAME:identifier}</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundlePackageType</key> + <string>BNDL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> +</dict> +</plist> diff --git a/Unit Tests/mcpKitTest.h b/Unit Tests/mcpKitTest.h new file mode 100644 index 00000000..e692cd3c --- /dev/null +++ b/Unit Tests/mcpKitTest.h @@ -0,0 +1,18 @@ +// +// mcpKitTest.h +// sequel-pro +// +// Created by J Knight on 17/05/09. +// Copyright 2009 TalonEdge Ltd.. All rights reserved. +// + +#import <SenTestingKit/SenTestingKit.h> +#import "CMMCPConnection.h" +#import "CMMCPResult.h" + +@interface mcpKitTest : SenTestCase { + + CMMCPConnection *mySQLConnection; +} + +@end diff --git a/Unit Tests/mcpKitTest.m b/Unit Tests/mcpKitTest.m new file mode 100644 index 00000000..486e7c4a --- /dev/null +++ b/Unit Tests/mcpKitTest.m @@ -0,0 +1,61 @@ +// +// mcpKitTest.m +// sequel-pro +// +// Created by J Knight on 17/05/09. +// Copyright 2009 TalonEdge Ltd.. All rights reserved. +// + +#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)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/Unit Tests/stringCategoryAdditionsTest.h b/Unit Tests/stringCategoryAdditionsTest.h new file mode 100644 index 00000000..a89f78bb --- /dev/null +++ b/Unit Tests/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/Unit Tests/stringCategoryAdditionsTest.m b/Unit Tests/stringCategoryAdditionsTest.m new file mode 100644 index 00000000..68b27ff7 --- /dev/null +++ b/Unit Tests/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 |