Transition Adium from SenTestingKit to XCTest.
authorMatthew Kotila
Mon, 14 Dec 2015 00:37:29 -0800
changeset 5949 334dc418b409
parent 5893 1e1382dbd844
child 5950 92fa28ff1873
Transition Adium from SenTestingKit to XCTest.

In order to build on OS X 10.11, Xcode 7.2, several changes have been made that are outlined:
- Unit tests Target Build Settings modified:
* 'Wrapper Extension' set to 'xctest'
* 'Enable Modules (C and Objective-C)' set to 'Yes'
- UnitTests Target of AutoHyperlink.framework Build Settings modified:
* 'Wrapper Extension' set to 'xctest'
* 'Enable Modules (C and Objective-C)' set to 'Yes'
* 'Other Linker Flags' removed '-framework SenTestingKit'
- 'SenTestingKit.framework' removed from Adium -> Linked Frameworks -> System
- 'SenTestingKit.framework' removed from Adium -> Linked Frameworks -> AutoHyperlinks.framework.xcodeproj -> External Frameworks and Libraries -> Linked Frameworks
- Find and Replace within 'Adium/Unit tests' && 'Adium/Linked Frameworks/Others/AutoHyperlinks.framework.xcodeproj/UnitTests'
* '<SenTestingKit/SenTestingKit.h>' to '<XCTest/XCTest.h>'
* 'SenTestCase' to 'XCTestCase'
* 'STAssert' to 'XCTAssert'
* 'XCTAssertEquals(' to 'XCTAssertEqual('
* regex '(\[\[\[)([^\]]*\][^\]]*\])(\ autorelease\]);' to '[[$2;'
* regex '(\[)([^\]]*\][^\]]*)(\ autorelease\])' to '$2'
- modified AutoHyperlinks.framework.xcodeproj -> project.pbxproj
* line 331: ?productType = "com.apple.product-type.bundle.ocunit-test";' to 'productType = "com.apple.product-type.bundle.unit-test";'
- AIWebKitMessageViewController.h
* forward declare WebUIDelegate, WebFrameLoadDelegate protocols
* add WebUIDelegate, WebFrameLoadDelegate protocols to 'AIWebKitMessageViewController' class
- AIFacebookXMPPOAuthWebViewWindowController.m lines 107 && 108
* '[[domDoc getElementById:@"email"] setValue:self.autoFillUsername];' to '[domDoc getElementById:@"email"].innerHTML = self.autoFillUsername;'
* '[[domDoc getElementById:@"pass"] setValue:self.autoFillPassword];' to '[domDoc getElementById:@"pass"].innerHTML = self.autoFillPassword;'
- XCTAssertEqual for NSRanges modified to ?XCTAssertTrue(NSEqualRanges(range1, range2)), ...)' in Unit tests
Adium.xcodeproj/project.pbxproj
Adium.xcodeproj/xcshareddata/xcschemes/Adium.xcscheme
Frameworks/AutoHyperlinks Framework/AutoHyperlinks.framework.xcodeproj/project.pbxproj
Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m
Frameworks/AutoHyperlinks Framework/Source/StressTestMain.m
Frameworks/AutoHyperlinks Framework/Source/ThreadedStressTestMain.m
Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.h
Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.m
Frameworks/AutoHyperlinks Framework/UnitTests/NegativeURLTest.h
Frameworks/AutoHyperlinks Framework/UnitTests/SimpleURLTest.h
Frameworks/AutoHyperlinks Framework/UnitTests/StressTest.h
Frameworks/AutoHyperlinks Framework/UnitTests/StressTest.m
Frameworks/AutoHyperlinks Framework/UnitTests/ThreadedStressTest.h
Frameworks/AutoHyperlinks Framework/UnitTests/ThreadedStressTest.m
Plugins/Purple Service/AIFacebookXMPPOAuthWebViewWindowController.m
Plugins/WebKit Message View/AIWebKitMessageViewController.h
UnitTests/AIUnitTestUtilities.h
UnitTests/TestAttributedStringAdditions.h
UnitTests/TestAttributedStringAdditions.m
UnitTests/TestColorAdditions.h
UnitTests/TestColorAdditions.m
UnitTests/TestDataAdditions.h
UnitTests/TestDataAdditions.m
UnitTests/TestDateAdditions.h
UnitTests/TestDateAdditions.m
UnitTests/TestDateFormatterStringRepWithInterval.h
UnitTests/TestDateFormatterStringRepWithInterval.m
UnitTests/TestDictionaryAdditions.h
UnitTests/TestDictionaryAdditions.m
UnitTests/TestMutableStringAdditions.h
UnitTests/TestRichTextCoercion.h
UnitTests/TestRichTextCoercion.m
UnitTests/TestStringAdditions.h
UnitTests/TestStringAdditions.m
UnitTests/UnitTests_Prefix.pch
--- a/Adium.xcodeproj/project.pbxproj	Mon Aug 04 16:49:27 2014 -0400
+++ b/Adium.xcodeproj/project.pbxproj	Mon Dec 14 00:37:29 2015 -0800
@@ -184,7 +184,6 @@
 		31034F0C0C8142720003F5AA /* UTF8Snowman.txt in Resources */ = {isa = PBXBuildFile; fileRef = 31034F0B0C8142720003F5AA /* UTF8Snowman.txt */; };
 		3107D5250F63134F0051DDD5 /* TestAttributedStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3107D5240F63134F0051DDD5 /* TestAttributedStringAdditions.m */; };
 		312ED3D30C7E876E00A6BDA9 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3448758D06D1EBDF00DA778C /* Cocoa.framework */; };
-		312ED3D50C7E878300A6BDA9 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 312ED3D40C7E878300A6BDA9 /* SenTestingKit.framework */; };
 		312ED3E20C7E8A0700A6BDA9 /* TestDateFormatterStringRepWithInterval.m in Sources */ = {isa = PBXBuildFile; fileRef = 312ED3E10C7E8A0700A6BDA9 /* TestDateFormatterStringRepWithInterval.m */; };
 		313C2F940D4B19B50032334D /* TestDictionaryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 313C2F930D4B19B50032334D /* TestDictionaryAdditions.m */; };
 		31455C9A0CC353F800D231A0 /* TestDataAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 31455C990CC353F800D231A0 /* TestDataAdditions.m */; };
@@ -1999,9 +1998,8 @@
 		31034F0B0C8142720003F5AA /* UTF8Snowman.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = UTF8Snowman.txt; path = UnitTests/UTF8Snowman.txt; sourceTree = "<group>"; };
 		3107D5230F63134F0051DDD5 /* TestAttributedStringAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestAttributedStringAdditions.h; path = UnitTests/TestAttributedStringAdditions.h; sourceTree = "<group>"; };
 		3107D5240F63134F0051DDD5 /* TestAttributedStringAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TestAttributedStringAdditions.m; path = UnitTests/TestAttributedStringAdditions.m; sourceTree = "<group>"; };
-		312ED3CA0C7E875B00A6BDA9 /* Unit tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Unit tests.octest"; sourceTree = BUILT_PRODUCTS_DIR; };
+		312ED3CA0C7E875B00A6BDA9 /* Unit tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Unit tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
 		312ED3CB0C7E875B00A6BDA9 /* UnitTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "UnitTests-Info.plist"; path = "Plists/UnitTests-Info.plist"; sourceTree = "<group>"; };
-		312ED3D40C7E878300A6BDA9 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
 		312ED3E00C7E8A0700A6BDA9 /* TestDateFormatterStringRepWithInterval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestDateFormatterStringRepWithInterval.h; path = UnitTests/TestDateFormatterStringRepWithInterval.h; sourceTree = "<group>"; };
 		312ED3E10C7E8A0700A6BDA9 /* TestDateFormatterStringRepWithInterval.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TestDateFormatterStringRepWithInterval.m; path = UnitTests/TestDateFormatterStringRepWithInterval.m; sourceTree = "<group>"; };
 		312ED3E30C7E8A4A00A6BDA9 /* UnitTests_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UnitTests_Prefix.pch; path = UnitTests/UnitTests_Prefix.pch; sourceTree = "<group>"; };
@@ -4791,7 +4789,6 @@
 			buildActionMask = 2147483647;
 			files = (
 				312ED3D30C7E876E00A6BDA9 /* Cocoa.framework in Frameworks */,
-				312ED3D50C7E878300A6BDA9 /* SenTestingKit.framework in Frameworks */,
 				31A764B90DA572B8000AC729 /* AutoHyperlinks.framework in Frameworks */,
 				634DC6020F9C43BB007B6479 /* AIUtilities.framework in Frameworks */,
 			);
@@ -5110,7 +5107,7 @@
 				34BD9DA9053146CC000AB133 /* Adium.app */,
 				34BD9DE105314751000AB133 /* Adium.framework */,
 				3485D68009EB416300232CC4 /* AdiumLibpurple.framework */,
-				312ED3CA0C7E875B00A6BDA9 /* Unit tests.octest */,
+				312ED3CA0C7E875B00A6BDA9 /* Unit tests.xctest */,
 				6334FBFC0F9C11DC003C77A9 /* AIUtilities.framework */,
 				633D4FA40F9D3073004F491E /* AdiumSpotlightImporter.mdimporter */,
 				761CE33616F9087C000EE361 /* AIDockTilePlugin.docktileplugin */,
@@ -8342,7 +8339,6 @@
 			children = (
 				34C846E5101E518F00140B4B /* QuickTime.framework */,
 				34C846AE101E515900140B4B /* QTKit.framework */,
-				312ED3D40C7E878300A6BDA9 /* SenTestingKit.framework */,
 				31E0CD800C5EEF5200271DB1 /* CoreAudio.framework */,
 				11AA1EF90BCAE9C3003DDA66 /* Quartz.framework */,
 				815D37460A765E83009338C2 /* CoreServices.framework */,
@@ -9336,8 +9332,8 @@
 			);
 			name = "Unit tests";
 			productName = "Unit tests";
-			productReference = 312ED3CA0C7E875B00A6BDA9 /* Unit tests.octest */;
-			productType = "com.apple.product-type.bundle";
+			productReference = 312ED3CA0C7E875B00A6BDA9 /* Unit tests.xctest */;
+			productType = "com.apple.product-type.bundle.unit-test";
 		};
 		3485D67F09EB416300232CC4 /* AdiumLibpurple */ = {
 			isa = PBXNativeTarget;
@@ -12415,6 +12411,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2050FAFAA4700B310AC /* Unit tests.xcconfig */;
 			buildSettings = {
+				CLANG_ENABLE_MODULES = YES;
+				WRAPPER_EXTENSION = xctest;
 			};
 			name = Debug;
 		};
@@ -12422,6 +12420,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2050FAFAA4700B310AC /* Unit tests.xcconfig */;
 			buildSettings = {
+				CLANG_ENABLE_MODULES = YES;
+				WRAPPER_EXTENSION = xctest;
 			};
 			name = Release;
 		};
@@ -12429,6 +12429,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2050FAFAA4700B310AC /* Unit tests.xcconfig */;
 			buildSettings = {
+				CLANG_ENABLE_MODULES = YES;
+				WRAPPER_EXTENSION = xctest;
 			};
 			name = "Release-Debug";
 		};
--- a/Adium.xcodeproj/xcshareddata/xcschemes/Adium.xcscheme	Mon Aug 04 16:49:27 2014 -0400
+++ b/Adium.xcodeproj/xcshareddata/xcschemes/Adium.xcscheme	Mon Dec 14 00:37:29 2015 -0800
@@ -23,17 +23,17 @@
       </BuildActionEntries>
    </BuildAction>
    <TestAction
+      buildConfiguration = "Debug"
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      buildConfiguration = "Debug">
+      shouldUseLaunchSchemeArgsEnv = "YES">
       <Testables>
          <TestableReference
             skipped = "NO">
             <BuildableReference
                BuildableIdentifier = "primary"
                BlueprintIdentifier = "312ED3C90C7E875B00A6BDA9"
-               BuildableName = "Unit tests.octest"
+               BuildableName = "Unit tests.xctest"
                BlueprintName = "Unit tests"
                ReferencedContainer = "container:Adium.xcodeproj">
             </BuildableReference>
@@ -48,19 +48,23 @@
             ReferencedContainer = "container:Adium.xcodeproj">
          </BuildableReference>
       </MacroExpansion>
+      <AdditionalOptions>
+      </AdditionalOptions>
    </TestAction>
    <LaunchAction
+      buildConfiguration = "Debug"
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       displayScaleIsEnabled = "NO"
       displayScale = "1.00"
       launchStyle = "0"
       useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Debug"
       ignoresPersistentStateOnLaunch = "NO"
       debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
       allowLocationSimulation = "YES">
-      <BuildableProductRunnable>
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "34BD9CD1053146CC000AB133"
@@ -81,12 +85,13 @@
    <ProfileAction
       displayScaleIsEnabled = "NO"
       displayScale = "1.00"
+      buildConfiguration = "Debug"
       shouldUseLaunchSchemeArgsEnv = "YES"
       savedToolIdentifier = ""
       useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Debug"
       debugDocumentVersioning = "YES">
-      <BuildableProductRunnable>
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
          <BuildableReference
             BuildableIdentifier = "primary"
             BlueprintIdentifier = "34BD9CD1053146CC000AB133"
--- a/Frameworks/AutoHyperlinks Framework/AutoHyperlinks.framework.xcodeproj/project.pbxproj	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/AutoHyperlinks.framework.xcodeproj/project.pbxproj	Mon Dec 14 00:37:29 2015 -0800
@@ -8,7 +8,6 @@
 
 /* Begin PBXBuildFile section */
 		31C4604B0DE1D1D800C4265B /* StressTestMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C4604A0DE1D1D800C4265B /* StressTestMain.m */; };
-		31C460610DE1D24800C4265B /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA3B04D0DD11627002A18D1 /* SenTestingKit.framework */; };
 		31C460620DE1D24800C4265B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
 		31C4607D0DE1D53400C4265B /* StressTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EC75F190DDC9EC60004F634 /* StressTest.m */; };
 		31C460800DE1D57E00C4265B /* AHHyperlinkScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496A82007CE69270055BBAB /* AHHyperlinkScanner.m */; };
@@ -29,7 +28,6 @@
 		7E78D9C70DD12DF300B9388F /* AHLinkLexer.l in Sources */ = {isa = PBXBuildFile; fileRef = 3496A81E07CE69270055BBAB /* AHLinkLexer.l */; };
 		7E78D9C80DD12DF400B9388F /* AHMarkedHyperlink.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496A82207CE69270055BBAB /* AHMarkedHyperlink.m */; };
 		7EA3B04C0DD1155D002A18D1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
-		7EA3B04E0DD11627002A18D1 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA3B04D0DD11627002A18D1 /* SenTestingKit.framework */; };
 		7EB5501D0DDC810E000DC0D6 /* AutoHyperlinks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* AutoHyperlinks.framework */; };
 		7EB550200DDC813D000DC0D6 /* LinkDriverMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB5501F0DDC813D000DC0D6 /* LinkDriverMain.m */; };
 		7EB5514A0DDC8272000DC0D6 /* LinkDriverWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB551490DDC8272000DC0D6 /* LinkDriverWindowController.m */; };
@@ -37,7 +35,6 @@
 		7ED4FDC20E002652004C5F4B /* AHHyperlinkScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496A82007CE69270055BBAB /* AHHyperlinkScanner.m */; };
 		7ED4FDC30E002652004C5F4B /* AHMarkedHyperlink.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496A82207CE69270055BBAB /* AHMarkedHyperlink.m */; };
 		7ED4FDC60E002652004C5F4B /* ThreadedStressTestMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 7ED4FDBB0E0025DA004C5F4B /* ThreadedStressTestMain.m */; };
-		7ED4FDC80E002652004C5F4B /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EA3B04D0DD11627002A18D1 /* SenTestingKit.framework */; };
 		7ED4FDC90E002652004C5F4B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
 		7ED4FDE70E00273E004C5F4B /* ThreadedStressTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7ED4FDBA0E00258F004C5F4B /* ThreadedStressTest.m */; };
 		8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
@@ -81,9 +78,8 @@
 		7E78DA140DD133F300B9388F /* AutoHyperlinks.framework_Test_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AutoHyperlinks.framework_Test_Prefix.pch; path = UnitTests/AutoHyperlinks.framework_Test_Prefix.pch; sourceTree = "<group>"; };
 		7E9D89FA0DD4FD4200CD54F8 /* Copyright.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Copyright.txt; sourceTree = "<group>"; };
 		7E9D89FB0DD4FD6400CD54F8 /* License.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = License.txt; sourceTree = "<group>"; };
-		7EA3B0440DD1153F002A18D1 /* Test.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Test.octest; sourceTree = BUILT_PRODUCTS_DIR; };
+		7EA3B0440DD1153F002A18D1 /* Test.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Test.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		7EA3B0450DD1153F002A18D1 /* Test-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Test-Info.plist"; path = "Resources/Test-Info.plist"; sourceTree = "<group>"; };
-		7EA3B04D0DD11627002A18D1 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
 		7EB550100DDC80DB000DC0D6 /* LinkDriver.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LinkDriver.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		7EB550120DDC80DB000DC0D6 /* LinkDriver-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "LinkDriver-Info.plist"; path = "LinkDriver/LinkDriver-Info.plist"; sourceTree = "<group>"; };
 		7EB5501F0DDC813D000DC0D6 /* LinkDriverMain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LinkDriverMain.m; path = LinkDriver/LinkDriverMain.m; sourceTree = "<group>"; };
@@ -106,7 +102,6 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				31C460610DE1D24800C4265B /* SenTestingKit.framework in Frameworks */,
 				31C460620DE1D24800C4265B /* Cocoa.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -116,7 +111,6 @@
 			buildActionMask = 2147483647;
 			files = (
 				7EA3B04C0DD1155D002A18D1 /* Cocoa.framework in Frameworks */,
-				7EA3B04E0DD11627002A18D1 /* SenTestingKit.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -132,7 +126,6 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				7ED4FDC80E002652004C5F4B /* SenTestingKit.framework in Frameworks */,
 				7ED4FDC90E002652004C5F4B /* Cocoa.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -152,7 +145,7 @@
 			isa = PBXGroup;
 			children = (
 				8DC2EF5B0486A6940098B216 /* AutoHyperlinks.framework */,
-				7EA3B0440DD1153F002A18D1 /* Test.octest */,
+				7EA3B0440DD1153F002A18D1 /* Test.xctest */,
 				7EB550100DDC80DB000DC0D6 /* LinkDriver.app */,
 				31C460380DE1D17100C4265B /* AHStressTester */,
 				7ED4FDD00E002653004C5F4B /* AHThreadedStressTester */,
@@ -213,7 +206,6 @@
 		1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				7EA3B04D0DD11627002A18D1 /* SenTestingKit.framework */,
 				1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */,
 			);
 			name = "Linked Frameworks";
@@ -335,8 +327,8 @@
 			);
 			name = UnitTests;
 			productName = Test;
-			productReference = 7EA3B0440DD1153F002A18D1 /* Test.octest */;
-			productType = "com.apple.product-type.bundle";
+			productReference = 7EA3B0440DD1153F002A18D1 /* Test.xctest */;
+			productType = "com.apple.product-type.bundle.unit-test";
 		};
 		7EB5500F0DDC80DB000DC0D6 /* LinkDriver */ = {
 			isa = PBXNativeTarget;
@@ -637,6 +629,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ENABLE_MODULES = YES;
 				COMBINE_HIDPI_IMAGES = YES;
 				COPY_PHASE_STRIP = NO;
 				FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks";
@@ -651,11 +644,9 @@
 				OTHER_LDFLAGS = (
 					"-framework",
 					Cocoa,
-					"-framework",
-					SenTestingKit,
 				);
 				PRODUCT_NAME = Test;
-				WRAPPER_EXTENSION = octest;
+				WRAPPER_EXTENSION = xctest;
 			};
 			name = Debug;
 		};
@@ -663,6 +654,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ENABLE_MODULES = YES;
 				COMBINE_HIDPI_IMAGES = YES;
 				COPY_PHASE_STRIP = YES;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@@ -676,11 +668,9 @@
 				OTHER_LDFLAGS = (
 					"-framework",
 					Cocoa,
-					"-framework",
-					SenTestingKit,
 				);
 				PRODUCT_NAME = Test;
-				WRAPPER_EXTENSION = octest;
+				WRAPPER_EXTENSION = xctest;
 			};
 			name = Release;
 		};
@@ -688,6 +678,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ENABLE_MODULES = YES;
 				COMBINE_HIDPI_IMAGES = YES;
 				FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks";
 				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
@@ -699,11 +690,9 @@
 				OTHER_LDFLAGS = (
 					"-framework",
 					Cocoa,
-					"-framework",
-					SenTestingKit,
 				);
 				PRODUCT_NAME = Test;
-				WRAPPER_EXTENSION = octest;
+				WRAPPER_EXTENSION = xctest;
 			};
 			name = "Release-Debug";
 		};
--- a/Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/Source/AHHyperlinkScanner.m	Mon Dec 14 00:37:29 2015 -0800
@@ -389,7 +389,7 @@
 	unsigned long          _scanLocationCache = self.scanLocation;
 	NSEnumerator          *linkEnumerator = [[self allURIs] reverseObjectEnumerator];
 	
-	_linkifiedString = [[[NSMutableString alloc] initWithString:m_scanString] autorelease];
+	_linkifiedString = [[NSMutableString alloc] initWithString:m_scanString];
 	
 	while ((markedLink = [linkEnumerator nextObject])) {
 		[_linkifiedString replaceCharactersInRange:markedLink.range
@@ -399,7 +399,7 @@
 	}
 	
 	self.scanLocation = _scanLocationCache;
-	return [[_linkifiedString copy] autorelease];
+	return [_linkifiedString copy];
 }
 
 -(NSString *)linkifiedString
@@ -422,9 +422,9 @@
 	unsigned long _scanLocationCache = self.scanLocation;
 	
 	if(m_scanAttrString) {
-		_linkifiedString = [[m_scanAttrString mutableCopy] autorelease];
+		_linkifiedString = [m_scanAttrString mutableCopy];
 	} else {
-		_linkifiedString = [[[NSMutableAttributedString alloc] initWithString:m_scanString] autorelease];
+		_linkifiedString = [[NSMutableAttributedString alloc] initWithString:m_scanString];
 	}
 	
 	//for each SHMarkedHyperlink, add the proper URL to the proper range in the string.
@@ -440,7 +440,7 @@
 	
 	self.scanLocation = _scanLocationCache;
 	return _didFindLinks? _linkifiedString :
-	m_scanAttrString ? [[m_scanAttrString retain] autorelease] : [[[NSMutableAttributedString alloc] initWithString:m_scanString] autorelease];
+	m_scanAttrString ? [m_scanAttrString retain] : [[NSMutableAttributedString alloc] initWithString:m_scanString];
 }
 
 -(NSAttributedString *)linkifiedString
--- a/Frameworks/AutoHyperlinks Framework/Source/StressTestMain.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/Source/StressTestMain.m	Mon Dec 14 00:37:29 2015 -0800
@@ -1,4 +1,4 @@
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 #import "StressTest.h"
 
 #include <sysexits.h>
@@ -15,8 +15,8 @@
 	}
 
 	@autoreleasepool {
-		StressTest *test = [[[StressTest alloc] initWithSelector:@selector(testStress)] autorelease];
-		SenTestRun *run = [[[SenTestRun alloc] initWithTest:test] autorelease];
+		StressTest *test = [[StressTest alloc] initWithSelector:@selector(testStress)];
+		SenTestRun *run = [[SenTestRun alloc] initWithTest:test];
 		
 		NSDate *startDate, *endDate;
 		
--- a/Frameworks/AutoHyperlinks Framework/Source/ThreadedStressTestMain.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/Source/ThreadedStressTestMain.m	Mon Dec 14 00:37:29 2015 -0800
@@ -1,4 +1,4 @@
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 #import "ThreadedStressTest.h"
 
 #include <sysexits.h>
@@ -15,8 +15,8 @@
 	}
 	
 	@autoreleasepool {
-		ThreadedStressTest *test = [[[ThreadedStressTest alloc] initWithSelector:@selector(threadedStressTest)] autorelease];
-		SenTestRun *run = [[[SenTestRun alloc] initWithTest:test] autorelease];
+		ThreadedStressTest *test = [[ThreadedStressTest alloc] initWithSelector:@selector(threadedStressTest)];
+		SenTestRun *run = [[SenTestRun alloc] initWithTest:test];
 		
 		NSDate *startDate, *endDate;
 		
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.h	Mon Dec 14 00:37:29 2015 -0800
@@ -3,10 +3,10 @@
 //  AIHyperlinks.framework
 //
 
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
 
-@interface HyperlinkContextTest : SenTestCase {
+@interface HyperlinkContextTest : XCTestCase {
 
 }
 - (void)testSimpleDomain;
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/HyperlinkContextTest.m	Mon Dec 14 00:37:29 2015 -0800
@@ -13,8 +13,8 @@
 	AHHyperlinkScanner	*scanner = [AHHyperlinkScanner hyperlinkScannerWithString:testString];
 	AHMarkedHyperlink	*ahLink = [scanner nextURI];
 	
-	STAssertNotNil(ahLink, @"-[SHHyperlinkScanner nextURL] found no URI in \"%@\"", testString);
-	STAssertEqualObjects([[ahLink parentString] substringWithRange:[ahLink range]], URIString, @"in context: '%@'", testString);
+	XCTAssertNotNil(ahLink, @"-[SHHyperlinkScanner nextURL] found no URI in \"%@\"", testString);
+	XCTAssertEqualObjects([[ahLink parentString] substringWithRange:[ahLink range]], URIString, @"in context: '%@'", testString);
 }
 
 - (void)testNegativeContext:(NSString *)linkString withURI:(NSString *)URIString
@@ -23,8 +23,8 @@
 	AHHyperlinkScanner	*scanner = [AHHyperlinkScanner hyperlinkScannerWithString:testString];
 	AHMarkedHyperlink	*ahLink = [scanner nextURI];
 	
-	STAssertNil(ahLink, @"-[SHHyperlinkScanner nextURLFromString:] found no URI in \"%@\"", testString);
-	STAssertEqualObjects([[ahLink parentString] substringWithRange:[ahLink range]], nil, @"in context: '%@'", testString);
+	XCTAssertNil(ahLink, @"-[SHHyperlinkScanner nextURLFromString:] found no URI in \"%@\"", testString);
+	XCTAssertEqualObjects([[ahLink parentString] substringWithRange:[ahLink range]], nil, @"in context: '%@'", testString);
 }
 
 #pragma mark positive tests
@@ -230,11 +230,11 @@
 	AHMarkedHyperlink	*ahLink;
 	
 	ahLink = [scanner nextURI];
-	STAssertNotNil(ahLink, @"-[SHHyperlinkScanner nextURL] found no URI in \"%@\"", testString);
-	STAssertEqualObjects([[ahLink parentString] substringWithRange:[ahLink range]], URI1, @"in context: '%@'", testString);
+	XCTAssertNotNil(ahLink, @"-[SHHyperlinkScanner nextURL] found no URI in \"%@\"", testString);
+	XCTAssertEqualObjects([[ahLink parentString] substringWithRange:[ahLink range]], URI1, @"in context: '%@'", testString);
 	
 	ahLink = [scanner nextURI];
-	STAssertNotNil(ahLink, @"-[SHHyperlinkScanner nextURL] found no URI in \"%@\"", testString);
-	STAssertEqualObjects([[ahLink parentString] substringWithRange:[ahLink range]], URI2, @"in context: '%@'", testString);
+	XCTAssertNotNil(ahLink, @"-[SHHyperlinkScanner nextURL] found no URI in \"%@\"", testString);
+	XCTAssertEqualObjects([[ahLink parentString] substringWithRange:[ahLink range]], URI2, @"in context: '%@'", testString);
 }
 @end
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/NegativeURLTest.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/NegativeURLTest.h	Mon Dec 14 00:37:29 2015 -0800
@@ -3,13 +3,13 @@
 //  AIHyperlinks.framework
 //
 
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 #import "AutoHyperlinks.h"
 
-#define testHyperlink(x) STAssertFalse([AHHyperlinkScanner isStringValidURI: x usingStrict:YES fromIndex:0 withStatus:nil schemeLength:nil], @"%@ is a valid URI and should not be", x)
+#define testHyperlink(x) XCTAssertFalse([AHHyperlinkScanner isStringValidURI: x usingStrict:YES fromIndex:0 withStatus:nil schemeLength:nil], @"%@ is a valid URI and should not be", x)
 
 
-@interface NegativeURLTest : SenTestCase {
+@interface NegativeURLTest : XCTestCase {
 }
 
 - (void)testInvalidURI;
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/SimpleURLTest.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/SimpleURLTest.h	Mon Dec 14 00:37:29 2015 -0800
@@ -3,13 +3,13 @@
 //  AIHyperlinks.framework
 //
 
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 #import "AutoHyperlinks.h"
 
-#define testHyperlink(x) STAssertTrue([AHHyperlinkScanner isStringValidURI: x usingStrict:NO fromIndex:0 withStatus:nil schemeLength:nil],\
+#define testHyperlink(x) XCTAssertTrue([AHHyperlinkScanner isStringValidURI: x usingStrict:NO fromIndex:0 withStatus:nil schemeLength:nil],\
 					@"\"%@\" Should be a valid URI.", x )
 
-@interface SimpleURLTest : SenTestCase {
+@interface SimpleURLTest : XCTestCase {
 	AHHyperlinkScanner	*scanner;
 }
 - (void)testURLOnly;
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/StressTest.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/StressTest.h	Mon Dec 14 00:37:29 2015 -0800
@@ -6,10 +6,10 @@
 //  Copyright 2008 __MyCompanyName__. All rights reserved.
 //
 
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
 
-@interface StressTest : SenTestCase {
+@interface StressTest : XCTestCase {
 
 }
 - (void)testStress;
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/StressTest.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/StressTest.m	Mon Dec 14 00:37:29 2015 -0800
@@ -14,7 +14,7 @@
 - (void)testStress {
 	NSError				*error = nil;
 	NSString			*stressString = [NSString stringWithContentsOfFile:[NSString stringWithUTF8String:TEST_URIS_FILE_PATHNAME] encoding:NSUTF8StringEncoding error:&error];
-	STAssertNil(error, @"stringWithContentsOfFile:encoding:error: could not read file at path '%s': %@", TEST_URIS_FILE_PATHNAME, error);
+	XCTAssertNil(error, @"stringWithContentsOfFile:encoding:error: could not read file at path '%s': %@", TEST_URIS_FILE_PATHNAME, error);
 
 	AHHyperlinkScanner	*scanner = [AHHyperlinkScanner hyperlinkScannerWithString:stressString];
 	NSAttributedString	*attrString;
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/ThreadedStressTest.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/ThreadedStressTest.h	Mon Dec 14 00:37:29 2015 -0800
@@ -6,10 +6,10 @@
 //  Copyright 2008 __MyCompanyName__. All rights reserved.
 //
 
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
 
-@interface ThreadedStressTest : SenTestCase {
+@interface ThreadedStressTest : XCTestCase {
 	BOOL allTestsDidFinish;
 }
 -(void) threadedStressTest;
--- a/Frameworks/AutoHyperlinks Framework/UnitTests/ThreadedStressTest.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/Frameworks/AutoHyperlinks Framework/UnitTests/ThreadedStressTest.m	Mon Dec 14 00:37:29 2015 -0800
@@ -20,7 +20,7 @@
 	
 	for(long i = 0; i < THREAD_COUNT; i++)
 	{
-		threads[i] = [[[NSThread alloc] initWithTarget:self selector:@selector(performLinkTest:) object:nil] autorelease];
+		threads[i] = [[NSThread alloc] initWithTarget:self selector:@selector(performLinkTest:) object:nil];
 		[threads[i] setName:[NSString stringWithFormat:@"Thread %i",i]];
 	}
 	
@@ -45,7 +45,7 @@
 	@autoreleasepool {
 		NSError				*error = nil;
 		NSString			*stressString = [NSString stringWithContentsOfFile:[NSString stringWithUTF8String:TEST_URIS_FILE_PATHNAME] encoding:NSUTF8StringEncoding error:&error];
-		STAssertNil(error, @"stringWithContentsOfFile:encoding:error: could not read file at path '%s': %@", TEST_URIS_FILE_PATHNAME, error);
+		XCTAssertNil(error, @"stringWithContentsOfFile:encoding:error: could not read file at path '%s': %@", TEST_URIS_FILE_PATHNAME, error);
 		
 		AHHyperlinkScanner	*scanner = [AHHyperlinkScanner hyperlinkScannerWithString:stressString];
 		NSAttributedString	*attrString;
--- a/Plugins/Purple Service/AIFacebookXMPPOAuthWebViewWindowController.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/Plugins/Purple Service/AIFacebookXMPPOAuthWebViewWindowController.m	Mon Dec 14 00:37:29 2015 -0800
@@ -104,8 +104,8 @@
             }
 
             
-			[[domDoc getElementById:@"email"] setValue:self.autoFillUsername];
-			[[domDoc getElementById:@"pass"] setValue:self.autoFillPassword];
+			[domDoc getElementById:@"email"].innerHTML = self.autoFillUsername;
+			[domDoc getElementById:@"pass"].innerHTML = self.autoFillPassword;
 			
 			DOMElement *checkbox = [domDoc getElementById:@"persistent_inputcheckbox"];
 			if ([checkbox isKindOfClass:[NSClassFromString(@"DOMHTMLInputElement") class]] &&
--- a/Plugins/WebKit Message View/AIWebKitMessageViewController.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/Plugins/WebKit Message View/AIWebKitMessageViewController.h	Mon Dec 14 00:37:29 2015 -0800
@@ -19,11 +19,13 @@
 
 @class AIWebKitMessageViewPlugin, AIWebkitMessageViewStyle, AIContentObject, ESWebView, DOMDocument, DOMRange, AIMetaContact, AIChat, AIContentObject, AIWebKitDelegate;
 
+@protocol WebUIDelegate, WebFrameLoadDelegate;
+
 /*!
  *	@class AIWebKitMessageViewController AIWebKitMessageViewController.h
  *	@brief Main class for the webkit message view. Most of the good stuff happens here
  */
-@interface AIWebKitMessageViewController : NSObject <AIMessageDisplayController, NSDraggingDestination> {
+@interface AIWebKitMessageViewController : NSObject <AIMessageDisplayController, NSDraggingDestination, WebUIDelegate, WebFrameLoadDelegate> {
 	AIWebKitDelegate			*delegateProxy;
 	
 	id							plugin;
--- a/UnitTests/AIUnitTestUtilities.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/AIUnitTestUtilities.h	Mon Dec 14 00:37:29 2015 -0800
@@ -1,2 +1,2 @@
 #define AISimplifiedAssertEqualObjects(objectToTest, objectToExpect, message) \
-	STAssertEqualObjects((objectToTest), (objectToExpect), @"%s: %@: Expected %C%@%C; got %C%@%C", __PRETTY_FUNCTION__, message, /*open quote*/ 0x201C, (objectToExpect), /*close quote*/ 0x201D, /*open quote*/ 0x201C, (objectToTest), /*close quote*/ 0x201D);
+	XCTAssertEqualObjects((objectToTest), (objectToExpect), @"%s: %@: Expected %C%@%C; got %C%@%C", __PRETTY_FUNCTION__, message, /*open quote*/ 0x201C, (objectToExpect), /*close quote*/ 0x201D, /*open quote*/ 0x201C, (objectToTest), /*close quote*/ 0x201D);
--- a/UnitTests/TestAttributedStringAdditions.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestAttributedStringAdditions.h	Mon Dec 14 00:37:29 2015 -0800
@@ -14,7 +14,7 @@
  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-@interface TestAttributedStringAdditions : SenTestCase {
+@interface TestAttributedStringAdditions : XCTestCase {
 
 }
 
--- a/UnitTests/TestAttributedStringAdditions.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestAttributedStringAdditions.m	Mon Dec 14 00:37:29 2015 -0800
@@ -31,28 +31,28 @@
 	NSRange attributedStringRange;
 
 	//First, try a string containing a URL.
-	STAssertNoThrow(attributedString = [NSAttributedString attributedStringWithLinkLabel:linkLabel linkDestination:linkURLString], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
-	STAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
-	STAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
-	STAssertEquals([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
+	XCTAssertNoThrow(attributedString = [NSAttributedString attributedStringWithLinkLabel:linkLabel linkDestination:linkURLString], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
+	XCTAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
+	XCTAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
+	XCTAssertEqual([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
 	linkValue = [attributedString attribute:NSLinkAttributeName atIndex:0UL effectiveRange:&linkRange];
-	STAssertNotNil(linkValue, @"Attributed string does not have a link");
-	STAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
-	STAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
+	XCTAssertNotNil(linkValue, @"Attributed string does not have a link");
+	XCTAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
+	XCTAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
 	attributedStringRange = (NSRange){ 0UL, [attributedString length] };
-	STAssertEquals(linkRange, attributedStringRange, @"Link range is not the entire range of the attributed string");
+	XCTAssertTrue(NSEqualRanges(linkRange, attributedStringRange), @"Link range is not the entire range of the attributed string");
 
 	//Next, try an NSURL object.
-	STAssertNoThrow(attributedString = [NSAttributedString attributedStringWithLinkLabel:linkLabel linkDestination:linkURL], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
-	STAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
-	STAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
-	STAssertEquals([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
+	XCTAssertNoThrow(attributedString = [NSAttributedString attributedStringWithLinkLabel:linkLabel linkDestination:linkURL], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
+	XCTAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
+	XCTAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
+	XCTAssertEqual([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
 	linkValue = [attributedString attribute:NSLinkAttributeName atIndex:0UL effectiveRange:&linkRange];
-	STAssertNotNil(linkValue, @"Attributed string does not have a link");
-	STAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
-	STAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
+	XCTAssertNotNil(linkValue, @"Attributed string does not have a link");
+	XCTAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
+	XCTAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
 	attributedStringRange = (NSRange){ 0UL, [attributedString length] };
-	STAssertEquals(linkRange, attributedStringRange, @"Link range is not the entire range of the attributed string");
+	XCTAssertTrue(NSEqualRanges(linkRange, attributedStringRange), @"Link range is not the entire range of the attributed string");
 }
 - (void) testAttributedStringWithLinkedSubstring
 {
@@ -65,26 +65,26 @@
 	NSAttributedString *attributedString = nil;
 
 	//First, try a string containing a URL.
-	STAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURLString], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
-	STAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
-	STAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
-	STAssertEquals([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
+	XCTAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURLString], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
+	XCTAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
+	XCTAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
+	XCTAssertEqual([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
 	linkValue = [attributedString attribute:NSLinkAttributeName atIndex:intendedLinkRange.location effectiveRange:&linkRange];
-	STAssertNotNil(linkValue, @"Attributed string does not have a link");
-	STAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
-	STAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
-	STAssertEquals(linkRange, intendedLinkRange, @"Link range is not the range we wanted to link");
+	XCTAssertNotNil(linkValue, @"Attributed string does not have a link");
+	XCTAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
+	XCTAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
+	XCTAssertTrue(NSEqualRanges(linkRange, intendedLinkRange), @"Link range is not the range we wanted to link");
 
 	//Next, try an NSURL object.
-	STAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURL], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
-	STAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
-	STAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
-	STAssertEquals([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
+	XCTAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURL], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
+	XCTAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
+	XCTAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
+	XCTAssertEqual([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
 	linkValue = [attributedString attribute:NSLinkAttributeName atIndex:intendedLinkRange.location effectiveRange:&linkRange];
-	STAssertNotNil(linkValue, @"Attributed string does not have a link");
-	STAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
-	STAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
-	STAssertEquals(linkRange, intendedLinkRange, @"Link range is not the range we wanted to link");
+	XCTAssertNotNil(linkValue, @"Attributed string does not have a link");
+	XCTAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
+	XCTAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
+	XCTAssertTrue(NSEqualRanges(linkRange, intendedLinkRange), @"Link range is not the range we wanted to link");
 }
 - (void) testAttributedStringWithLinkedEntireStringUsingSubstringMethod
 {
@@ -98,28 +98,28 @@
 	NSRange attributedStringRange;
 
 	//First, try a string containing a URL.
-	STAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURLString], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
-	STAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
-	STAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
-	STAssertEquals([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
+	XCTAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURLString], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
+	XCTAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
+	XCTAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
+	XCTAssertEqual([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
 	linkValue = [attributedString attribute:NSLinkAttributeName atIndex:0UL effectiveRange:&linkRange];
-	STAssertNotNil(linkValue, @"Attributed string does not have a link");
-	STAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
-	STAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
+	XCTAssertNotNil(linkValue, @"Attributed string does not have a link");
+	XCTAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
+	XCTAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
 	attributedStringRange = (NSRange){ 0UL, [attributedString length] };
-	STAssertEquals(linkRange, attributedStringRange, @"Link range is not the entire range of the attributed string");
+	XCTAssertTrue(NSEqualRanges(linkRange, attributedStringRange), @"Link range is not the entire range of the attributed string");
 
 	//Next, try an NSURL object.
-	STAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURL], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
-	STAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
-	STAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
-	STAssertEquals([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
+	XCTAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURL], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
+	XCTAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
+	XCTAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
+	XCTAssertEqual([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
 	linkValue = [attributedString attribute:NSLinkAttributeName atIndex:0UL effectiveRange:&linkRange];
-	STAssertNotNil(linkValue, @"Attributed string does not have a link");
-	STAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
-	STAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
+	XCTAssertNotNil(linkValue, @"Attributed string does not have a link");
+	XCTAssertTrue([linkValue isKindOfClass:[NSURL class]], @"Link value is not an NSURL");
+	XCTAssertEqualObjects(linkValue, linkURL, @"Link value is not equal to the URL we provided");
 	attributedStringRange = (NSRange){ 0UL, [attributedString length] };
-	STAssertEquals(linkRange, attributedStringRange, @"Link range is not the entire range of the attributed string");
+	XCTAssertTrue(NSEqualRanges(linkRange, attributedStringRange), @"Link range is not the entire range of the attributed string");
 }
 - (void) testAttributedStringWithLinkedEmptySubstring
 {
@@ -133,50 +133,50 @@
 	NSRange attributedStringRange;
 
 	//First, try a string containing a URL.
-	STAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURLString], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
-	STAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
-	STAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
-	STAssertEquals([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
+	XCTAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURLString], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
+	XCTAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
+	XCTAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
+	XCTAssertEqual([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
 	linkValue = [attributedString attribute:NSLinkAttributeName atIndex:intendedLinkRange.location effectiveRange:&linkRange];
-	STAssertNil(linkValue, @"Attributed string has a link");
+	XCTAssertNil(linkValue, @"Attributed string has a link");
 	//linkRange, at this point, should be the range that does not have a link, which should be the entire string.
 	attributedStringRange = (NSRange){ 0UL, [attributedString length] };
-	STAssertEquals(linkRange, attributedStringRange, @"Non-link range is not the entire string");
+	XCTAssertTrue(NSEqualRanges(linkRange, attributedStringRange), @"Non-link range is not the entire string");
 
 	//Next, try an NSURL object.
-	STAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURL], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
-	STAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
-	STAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
-	STAssertEquals([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
+	XCTAssertNoThrow(attributedString = [NSAttributedString attributedStringWithString:linkLabel linkRange:intendedLinkRange linkDestination:linkURL], @"attributedStringWithLinkLabel:linkDestination: threw an exception");
+	XCTAssertNotNil(attributedString, @"attributedStringWithLinkLabel:linkDestination: returned nil");
+	XCTAssertEqualObjects([attributedString string], linkLabel, @"Attributed string's text is not equal to the original string");
+	XCTAssertEqual([attributedString length], [linkLabel length], @"Attributed string is not the same length (%lu) as the original string (%lu)", [attributedString length], [linkLabel length]);
 	linkValue = [attributedString attribute:NSLinkAttributeName atIndex:intendedLinkRange.location effectiveRange:&linkRange];
-	STAssertNil(linkValue, @"Attributed string has a link");
+	XCTAssertNil(linkValue, @"Attributed string has a link");
 	//linkRange, at this point, should be the range that does not have a link, which should be the entire string.
 	attributedStringRange = (NSRange){ 0UL, [attributedString length] };
-	STAssertEquals(linkRange, attributedStringRange, @"Non-link range is not the entire string");
+	XCTAssertTrue(NSEqualRanges(linkRange, attributedStringRange), @"Non-link range is not the entire string");
 }
 
 - (void) testAttributedStringByConvertingLinksToStrings {
-	NSMutableAttributedString *input = [[[NSMutableAttributedString alloc] initWithString:@"Adium requires Growl."] autorelease];
+	NSMutableAttributedString *input = [[NSMutableAttributedString alloc] initWithString:@"Adium requires Growl."];
 	[input addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"http://www.adium.im/"] range:[[input string] rangeOfString:@"Adium"]];
 	[input addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"http://growl.info/"] range:[[input string] rangeOfString:@"Growl"]];
 
 	NSAttributedString *result = nil;
-	STAssertNoThrow(result = [input attributedStringByConvertingLinksToStrings], @"-attributedStringByConvertingLinksToStrings threw an exception");
-	STAssertNotNil(result, @"-attributedStringByConvertingLinksToStrings returned nil");
+	XCTAssertNoThrow(result = [input attributedStringByConvertingLinksToStrings], @"-attributedStringByConvertingLinksToStrings threw an exception");
+	XCTAssertNotNil(result, @"-attributedStringByConvertingLinksToStrings returned nil");
 
-	STAssertEqualObjects([result string], @"Adium (http://www.adium.im/) requires Growl (http://growl.info/).", @"-attributedStringByConvertingLinksToStrings did not correctly expand the links");
+	XCTAssertEqualObjects([result string], @"Adium (http://www.adium.im/) requires Growl (http://growl.info/).", @"-attributedStringByConvertingLinksToStrings did not correctly expand the links");
 }
 
 - (void) testAttributedStringByConvertingLinksToURLStrings {
-	NSMutableAttributedString *input = [[[NSMutableAttributedString alloc] initWithString:@"Adium requires Growl."] autorelease];
+	NSMutableAttributedString *input = [[NSMutableAttributedString alloc] initWithString:@"Adium requires Growl."];
 	[input addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"http://www.adium.im/"] range:[[input string] rangeOfString:@"Adium"]];
 	[input addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"http://growl.info/"] range:[[input string] rangeOfString:@"Growl"]];
 
 	NSAttributedString *result = nil;
-	STAssertNoThrow(result = [input attributedStringByConvertingLinksToURLStrings], @"-attributedStringByConvertingLinksToURLStrings threw an exception");
-	STAssertNotNil(result, @"-attributedStringByConvertingLinksToURLStrings returned nil");
+	XCTAssertNoThrow(result = [input attributedStringByConvertingLinksToURLStrings], @"-attributedStringByConvertingLinksToURLStrings threw an exception");
+	XCTAssertNotNil(result, @"-attributedStringByConvertingLinksToURLStrings returned nil");
 
-	STAssertEqualObjects([result string], @"http://www.adium.im/ requires http://growl.info/.", @"-attributedStringByConvertingLinksToURLStrings did not correctly expand the links");
+	XCTAssertEqualObjects([result string], @"http://www.adium.im/ requires http://growl.info/.", @"-attributedStringByConvertingLinksToURLStrings did not correctly expand the links");
 }
 
 @end
--- a/UnitTests/TestColorAdditions.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestColorAdditions.h	Mon Dec 14 00:37:29 2015 -0800
@@ -14,7 +14,7 @@
  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-@interface TestColorAdditions : SenTestCase {
+@interface TestColorAdditions : XCTestCase {
 
 }
 
--- a/UnitTests/TestColorAdditions.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestColorAdditions.m	Mon Dec 14 00:37:29 2015 -0800
@@ -34,70 +34,70 @@
 {
 	NSColor *colorA = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
 	NSColor *colorB = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
-	STAssertTrue([colorA equalToRGBColor:colorB], @"Two colors with equal R, G, B, and A must compare equal");
+	XCTAssertTrue([colorA equalToRGBColor:colorB], @"Two colors with equal R, G, B, and A must compare equal");
 }
 - (void)testCompareColorsInequalInRed
 {
 	NSColor *colorA = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
 	NSColor *colorB = [NSColor colorWithCalibratedRed:0.0f green:1.0f blue:1.0f alpha:1.0f];
 	//                                                ^ The difference
-	STAssertFalse([colorA equalToRGBColor:colorB], @"Two colors with inequal R must compare equal");
+	XCTAssertFalse([colorA equalToRGBColor:colorB], @"Two colors with inequal R must compare equal");
 }
 - (void)testCompareColorsInequalInGreen
 {
 	NSColor *colorA = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
 	NSColor *colorB = [NSColor colorWithCalibratedRed:1.0f green:0.0f blue:1.0f alpha:1.0f];
 	//                                                          ^ The difference
-	STAssertFalse([colorA equalToRGBColor:colorB], @"Two colors with inequal G must compare equal");
+	XCTAssertFalse([colorA equalToRGBColor:colorB], @"Two colors with inequal G must compare equal");
 }
 - (void)testCompareColorsInequalInBlue
 {
 	NSColor *colorA = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
 	NSColor *colorB = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:0.0f alpha:1.0f];
 	//                                                                   ^ The difference
-	STAssertFalse([colorA equalToRGBColor:colorB], @"Two colors with inequal B must compare equal");
+	XCTAssertFalse([colorA equalToRGBColor:colorB], @"Two colors with inequal B must compare equal");
 }
 - (void)testCompareColorsInequalInAlpha
 {
 	NSColor *colorA = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
 	NSColor *colorB = [NSColor colorWithCalibratedRed:1.0f green:1.0f blue:1.0f alpha:0.0f];
 	//                                                                             ^ The difference
-	STAssertFalse([colorA equalToRGBColor:colorB], @"Two colors with inequal A must compare equal");
+	XCTAssertFalse([colorA equalToRGBColor:colorB], @"Two colors with inequal A must compare equal");
 }
 
 #pragma mark -colorIsDark
 - (void)testWhiteColorIsDark
 {
-	STAssertFalse([[NSColor whiteColor] colorIsDark], @"White is not dark");
+	XCTAssertFalse([[NSColor whiteColor] colorIsDark], @"White is not dark");
 }
 - (void)testBlackColorIsDark
 {
-	STAssertTrue([[NSColor blackColor] colorIsDark], @"Black is dark");
+	XCTAssertTrue([[NSColor blackColor] colorIsDark], @"Black is dark");
 }
 
 #pragma mark -colorIsMedium
 - (void)testWhiteColorIsMedium
 {
-	STAssertFalse([[NSColor whiteColor] colorIsMedium], @"White is not medium");
+	XCTAssertFalse([[NSColor whiteColor] colorIsMedium], @"White is not medium");
 }
 - (void)testGrayColorIsMedium
 {
-	STAssertTrue([[NSColor grayColor] colorIsMedium], @"Gray is medium");
+	XCTAssertTrue([[NSColor grayColor] colorIsMedium], @"Gray is medium");
 }
 - (void)testBlackColorIsMedium
 {
-	STAssertFalse([[NSColor blackColor] colorIsMedium], @"Black is not medium");
+	XCTAssertFalse([[NSColor blackColor] colorIsMedium], @"Black is not medium");
 }
 
 #pragma mark -darkenBy:
 - (void)testDarkenRed
 {
 	NSColor *red = [NSColor redColor];
-	STAssertEquals([red redComponent], (CGFloat)1.0f, @"Expected red's red component to be 1.0f");
+	XCTAssertEqual([red redComponent], (CGFloat)1.0f, @"Expected red's red component to be 1.0f");
 	NSColor *redDarkened = [red darkenBy:0.5f];
-	STAssertEquals([redDarkened redComponent],   (CGFloat)0.5f, @"Darkening red by 0.5 should result in 0.5, 0, 0");
-	STAssertEquals([redDarkened greenComponent], [red greenComponent], @"Darkening red by 0.5 should not change its green");
-	STAssertEquals([redDarkened blueComponent],  [red blueComponent],  @"Darkening red by 0.5 should not change its blue");
+	XCTAssertEqual([redDarkened redComponent],   (CGFloat)0.5f, @"Darkening red by 0.5 should result in 0.5, 0, 0");
+	XCTAssertEqual([redDarkened greenComponent], [red greenComponent], @"Darkening red by 0.5 should not change its green");
+	XCTAssertEqual([redDarkened blueComponent],  [red blueComponent],  @"Darkening red by 0.5 should not change its blue");
 }
 
 #pragma mark -darkenAndAdjustSaturationBy:
@@ -105,11 +105,11 @@
 - (void)testDarkenAndSaturateRed
 {
 	NSColor *red = [NSColor redColor];
-	STAssertEquals([red redComponent], (CGFloat)1.0f, @"Expected red's red component to be 1.0");
+	XCTAssertEqual([red redComponent], (CGFloat)1.0f, @"Expected red's red component to be 1.0");
 	NSColor *redDarkened = [red darkenBy:0.5f];
-	STAssertEquals([redDarkened redComponent],   (CGFloat)0.5f, @"Darkening and saturating red by 0.5 should result in 0.5, 0, 0");
-	STAssertEquals([redDarkened greenComponent], [red greenComponent], @"Darkening and saturating red by 0.5 should not change its green");
-	STAssertEquals([redDarkened blueComponent],  [red blueComponent],  @"Darkening and saturating red by 0.5 should not change its blue");
+	XCTAssertEqual([redDarkened redComponent],   (CGFloat)0.5f, @"Darkening and saturating red by 0.5 should result in 0.5, 0, 0");
+	XCTAssertEqual([redDarkened greenComponent], [red greenComponent], @"Darkening and saturating red by 0.5 should not change its green");
+	XCTAssertEqual([redDarkened blueComponent],  [red blueComponent],  @"Darkening and saturating red by 0.5 should not change its blue");
 }
 - (void)testDarkenAndSaturatePink
 {
@@ -117,13 +117,13 @@
 										 saturation:0.5f //This is what makes it pink, rather than red.
 										 brightness:1.0f
 											  alpha:1.0f];
-	STAssertEquals([pink   redComponent], (CGFloat)1.0f, @"Expected pink's red component to be 1.0");
-	STAssertEquals([pink greenComponent], (CGFloat)0.5f, @"Expected pink's green component to be 0.5");
-	STAssertEquals([pink  blueComponent], (CGFloat)0.5f, @"Expected pink's blue component to be 0.5");
+	XCTAssertEqual([pink   redComponent], (CGFloat)1.0f, @"Expected pink's red component to be 1.0");
+	XCTAssertEqual([pink greenComponent], (CGFloat)0.5f, @"Expected pink's green component to be 0.5");
+	XCTAssertEqual([pink  blueComponent], (CGFloat)0.5f, @"Expected pink's blue component to be 0.5");
 	NSColor *pinkDarkened = [pink darkenBy:0.5f];
-	STAssertEquals([pinkDarkened   redComponent], (CGFloat)0.5f, @"Darkening and saturating pink by 0.5 should result in 0.5, 0.25, 0.25");
-	STAssertEquals([pinkDarkened greenComponent], (CGFloat)0.25f, @"Darkening and saturating pink by 0.5 should result in 0.5, 0.25, 0.25");
-	STAssertEquals([pinkDarkened  blueComponent], (CGFloat)0.25f, @"Darkening and saturating pink by 0.5 should result in 0.5, 0.25, 0.25");
+	XCTAssertEqual([pinkDarkened   redComponent], (CGFloat)0.5f, @"Darkening and saturating pink by 0.5 should result in 0.5, 0.25, 0.25");
+	XCTAssertEqual([pinkDarkened greenComponent], (CGFloat)0.25f, @"Darkening and saturating pink by 0.5 should result in 0.5, 0.25, 0.25");
+	XCTAssertEqual([pinkDarkened  blueComponent], (CGFloat)0.25f, @"Darkening and saturating pink by 0.5 should result in 0.5, 0.25, 0.25");
 }
 
 #pragma mark -colorWithInvertedLuminance
@@ -131,25 +131,25 @@
 {
 	NSColor *white = [NSColor whiteColor];
 	NSColor *black = [white colorWithInvertedLuminance];
-	STAssertEquals([black   redComponent], (CGFloat)1.0f - [white whiteComponent], @"White, luminance-inverted, should be black (red component should be %f",   (CGFloat)1.0f - [white whiteComponent]);
-	STAssertEquals([black greenComponent], (CGFloat)1.0f - [white whiteComponent], @"White, luminance-inverted, should be black (green component should be %f", (CGFloat)1.0f - [white whiteComponent]);
-	STAssertEquals([black  blueComponent], (CGFloat)1.0f - [white whiteComponent], @"White, luminance-inverted, should be black (blue component should be %f",  (CGFloat)1.0f - [white whiteComponent]);
+	XCTAssertEqual([black   redComponent], (CGFloat)1.0f - [white whiteComponent], @"White, luminance-inverted, should be black (red component should be %f",   (CGFloat)1.0f - [white whiteComponent]);
+	XCTAssertEqual([black greenComponent], (CGFloat)1.0f - [white whiteComponent], @"White, luminance-inverted, should be black (green component should be %f", (CGFloat)1.0f - [white whiteComponent]);
+	XCTAssertEqual([black  blueComponent], (CGFloat)1.0f - [white whiteComponent], @"White, luminance-inverted, should be black (blue component should be %f",  (CGFloat)1.0f - [white whiteComponent]);
 }
 - (void)testInvertLuminanceOfBlack
 {
 	NSColor *black = [NSColor blackColor];
 	NSColor *white = [black colorWithInvertedLuminance];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f - [black whiteComponent], @"Black, luminance-inverted, should be white (red component should be %f",   (CGFloat)1.0f - [white whiteComponent]);
-	STAssertEquals([white greenComponent], (CGFloat)1.0f - [black whiteComponent], @"Black, luminance-inverted, should be white (green component should be %f", (CGFloat)1.0f - [white whiteComponent]);
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f - [black whiteComponent], @"Black, luminance-inverted, should be white (blue component should be %f",  (CGFloat)1.0f - [white whiteComponent]);
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f - [black whiteComponent], @"Black, luminance-inverted, should be white (red component should be %f",   (CGFloat)1.0f - [white whiteComponent]);
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f - [black whiteComponent], @"Black, luminance-inverted, should be white (green component should be %f", (CGFloat)1.0f - [white whiteComponent]);
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f - [black whiteComponent], @"Black, luminance-inverted, should be white (blue component should be %f",  (CGFloat)1.0f - [white whiteComponent]);
 }
 - (void)testInvertLuminanceOfRed
 {
 	NSColor *red = [NSColor redColor];
 	NSColor *black = [red colorWithInvertedLuminance];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f, @"Red, luminance-inverted, should be black");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Red, luminance-inverted, should not have any green");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f, @"Red, luminance-inverted, should not have any blue");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f, @"Red, luminance-inverted, should be black");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Red, luminance-inverted, should not have any green");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f, @"Red, luminance-inverted, should not have any blue");
 }
 
 #pragma mark -contrastingColor
@@ -158,25 +158,25 @@
 	NSColor *white = [NSColor whiteColor];
 	NSColor *contrastingColor = [white contrastingColor];
 	//contrastingColor inverts the R, G, and B components if the receiver is not medium, so its result will be in an RGB color space. This is why we compare its RGB components rather than its white component (it has no white component).
-	STAssertEquals([contrastingColor   redComponent], (CGFloat)0.0f, @"White's contrasting color should be black (its red component should be 0)");
-	STAssertEquals([contrastingColor greenComponent], (CGFloat)0.0f, @"White's contrasting color should be black (its green component should be 0)");
-	STAssertEquals([contrastingColor  blueComponent], (CGFloat)0.0f, @"White's contrasting color should be black (its blue component should be 0)");
+	XCTAssertEqual([contrastingColor   redComponent], (CGFloat)0.0f, @"White's contrasting color should be black (its red component should be 0)");
+	XCTAssertEqual([contrastingColor greenComponent], (CGFloat)0.0f, @"White's contrasting color should be black (its green component should be 0)");
+	XCTAssertEqual([contrastingColor  blueComponent], (CGFloat)0.0f, @"White's contrasting color should be black (its blue component should be 0)");
 }
 - (void)testContrastingColorForBlack
 {
 	NSColor *black = [NSColor blackColor];
 	NSColor *contrastingColor = [black contrastingColor];
 	//contrastingColor inverts the R, G, and B components if the receiver is not medium, so its result will be in an RGB color space. This is why we compare its RGB components rather than its white component (it has no white component).
-	STAssertEquals([contrastingColor   redComponent], (CGFloat)1.0f, @"Black's contrasting color should be white (its red component should be 1)");
-	STAssertEquals([contrastingColor greenComponent], (CGFloat)1.0f, @"Black's contrasting color should be white (its green component should be 1)");
-	STAssertEquals([contrastingColor  blueComponent], (CGFloat)1.0f, @"Black's contrasting color should be white (its blue component should be 1)");
+	XCTAssertEqual([contrastingColor   redComponent], (CGFloat)1.0f, @"Black's contrasting color should be white (its red component should be 1)");
+	XCTAssertEqual([contrastingColor greenComponent], (CGFloat)1.0f, @"Black's contrasting color should be white (its green component should be 1)");
+	XCTAssertEqual([contrastingColor  blueComponent], (CGFloat)1.0f, @"Black's contrasting color should be white (its blue component should be 1)");
 }
 - (void)testContrastingColorForGray
 {
 	NSColor *gray = [NSColor grayColor];
 	//Gray's whiteComponent is 0.5. This is medium, but not dark. As such, its contrasting color should be black.
 	NSColor *contrastingColor = [gray contrastingColor];
-	STAssertEquals([contrastingColor whiteComponent], (CGFloat)0.0f, @"Gray's contrasting color should be black");
+	XCTAssertEqual([contrastingColor whiteComponent], (CGFloat)0.0f, @"Gray's contrasting color should be black");
 }
 
 #pragma mark -adjustHue:saturation:brightness:
@@ -185,27 +185,27 @@
 {
 	NSColor *red = [NSColor redColor];
 	NSColor *green = [red adjustHue:(CGFloat)(+(1.0 / 3.0)) saturation:0.0f brightness:0.0f];
-	STAssertEquals([green   redComponent], (CGFloat)0.0,   @"Red component of green should be 0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0, @"Green component of green should be 1");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0,  @"Blue component of green should be 0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0,   @"Red component of green should be 0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0, @"Green component of green should be 1");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0,  @"Blue component of green should be 0");
 }
 //Saturation -= 1
 - (void)testAdjustRedToWhite
 {
 	NSColor *red = [NSColor redColor];
 	NSColor *white = [red adjustHue:0.0f saturation:-1.0f brightness:0.0f];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of green should be 1");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of green should be 1");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1");
 }
 //Brightness -= 1
 - (void)testAdjustRedToBlack
 {
 	NSColor *red = [NSColor redColor];
 	NSColor *white = [red adjustHue:0.0f saturation:0.0f brightness:-1.0f];
-	STAssertEquals([white   redComponent], (CGFloat)0.0f,   @"Red component of white should be 0");
-	STAssertEquals([white greenComponent], (CGFloat)0.0f, @"Green component of green should be 0");
-	STAssertEquals([white  blueComponent], (CGFloat)0.0f,  @"Blue component of white should be 0");
+	XCTAssertEqual([white   redComponent], (CGFloat)0.0f,   @"Red component of white should be 0");
+	XCTAssertEqual([white greenComponent], (CGFloat)0.0f, @"Green component of green should be 0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)0.0f,  @"Blue component of white should be 0");
 }
 
 #pragma mark -hexString
@@ -213,49 +213,49 @@
 {
 	NSColor *color = [NSColor redColor];
 	NSString *correctString = @"ff0000";
-	STAssertEqualObjects([color hexString], correctString, @"Hex string for red should be %@", correctString);
+	XCTAssertEqualObjects([color hexString], correctString, @"Hex string for red should be %@", correctString);
 }
 - (void)testHexStringForYellow
 {
 	NSColor *color = [NSColor yellowColor];
 	NSString *correctString = @"ffff00";
-	STAssertEqualObjects([color hexString], correctString, @"Hex string for yellow should be %@", correctString);
+	XCTAssertEqualObjects([color hexString], correctString, @"Hex string for yellow should be %@", correctString);
 }
 - (void)testHexStringForGreen
 {
 	NSColor *color = [NSColor greenColor];
 	NSString *correctString = @"00ff00";
-	STAssertEqualObjects([color hexString], correctString, @"Hex string for green should be %@", correctString);
+	XCTAssertEqualObjects([color hexString], correctString, @"Hex string for green should be %@", correctString);
 }
 - (void)testHexStringForCyan
 {
 	NSColor *color = [NSColor cyanColor];
 	NSString *correctString = @"00ffff";
-	STAssertEqualObjects([color hexString], correctString, @"Hex string for cyan should be %@", correctString);
+	XCTAssertEqualObjects([color hexString], correctString, @"Hex string for cyan should be %@", correctString);
 }
 - (void)testHexStringForBlue
 {
 	NSColor *color = [NSColor blueColor];
 	NSString *correctString = @"0000ff";
-	STAssertEqualObjects([color hexString], correctString, @"Hex string for blue should be %@", correctString);
+	XCTAssertEqualObjects([color hexString], correctString, @"Hex string for blue should be %@", correctString);
 }
 - (void)testHexStringForMagenta
 {
 	NSColor *color = [NSColor magentaColor];
 	NSString *correctString = @"ff00ff";
-	STAssertEqualObjects([color hexString], correctString, @"Hex string for magenta should be %@", correctString);
+	XCTAssertEqualObjects([color hexString], correctString, @"Hex string for magenta should be %@", correctString);
 }
 - (void)testHexStringForWhite
 {
 	NSColor *color = [NSColor whiteColor];
 	NSString *correctString = @"ffffff";
-	STAssertEqualObjects([color hexString], correctString, @"Hex string for white should be %@", correctString);
+	XCTAssertEqualObjects([color hexString], correctString, @"Hex string for white should be %@", correctString);
 }
 - (void)testHexStringForBlack
 {
 	NSColor *color = [NSColor blackColor];
 	NSString *correctString = @"000000";
-	STAssertEqualObjects([color hexString], correctString, @"Hex string for black should be %@", correctString);
+	XCTAssertEqualObjects([color hexString], correctString, @"Hex string for black should be %@", correctString);
 }
 
 #pragma mark -stringRepresentation
@@ -263,98 +263,98 @@
 {
 	NSColor *color = [NSColor redColor];
 	NSString *correctString = @"255,0,0";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for red should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for red should be %@", correctString);
 }
 - (void)testStringRepresentationForYellow
 {
 	NSColor *color = [NSColor yellowColor];
 	NSString *correctString = @"255,255,0";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for yellow should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for yellow should be %@", correctString);
 }
 - (void)testStringRepresentationForGreen
 {
 	NSColor *color = [NSColor greenColor];
 	NSString *correctString = @"0,255,0";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for green should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for green should be %@", correctString);
 }
 - (void)testStringRepresentationForCyan
 {
 	NSColor *color = [NSColor cyanColor];
 	NSString *correctString = @"0,255,255";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for cyan should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for cyan should be %@", correctString);
 }
 - (void)testStringRepresentationForBlue
 {
 	NSColor *color = [NSColor blueColor];
 	NSString *correctString = @"0,0,255";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for blue should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for blue should be %@", correctString);
 }
 - (void)testStringRepresentationForMagenta
 {
 	NSColor *color = [NSColor magentaColor];
 	NSString *correctString = @"255,0,255";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for magenta should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for magenta should be %@", correctString);
 }
 - (void)testStringRepresentationForWhite
 {
 	NSColor *color = [NSColor whiteColor];
 	NSString *correctString = @"255,255,255";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for white should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for white should be %@", correctString);
 }
 - (void)testStringRepresentationForBlack
 {
 	NSColor *color = [NSColor blackColor];
 	NSString *correctString = @"0,0,0";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for black should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for black should be %@", correctString);
 }
 
 - (void)testStringRepresentationForSemiTransparentRed
 {
 	NSColor *color = [[NSColor redColor] colorWithAlphaComponent:0.5f];
 	NSString *correctString = @"255,0,0,127";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for red should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for red should be %@", correctString);
 }
 - (void)testStringRepresentationForSemiTransparentYellow
 {
 	NSColor *color = [[NSColor yellowColor] colorWithAlphaComponent:0.5f];
 	NSString *correctString = @"255,255,0,127";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for yellow should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for yellow should be %@", correctString);
 }
 - (void)testStringRepresentationForSemiTransparentGreen
 {
 	NSColor *color = [[NSColor greenColor] colorWithAlphaComponent:0.5f];
 	NSString *correctString = @"0,255,0,127";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for green should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for green should be %@", correctString);
 }
 - (void)testStringRepresentationForSemiTransparentCyan
 {
 	NSColor *color = [[NSColor cyanColor] colorWithAlphaComponent:0.5f];
 	NSString *correctString = @"0,255,255,127";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for cyan should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for cyan should be %@", correctString);
 }
 - (void)testStringRepresentationForSemiTransparentBlue
 {
 	NSColor *color = [[NSColor blueColor] colorWithAlphaComponent:0.5f];
 	NSString *correctString = @"0,0,255,127";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for blue should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for blue should be %@", correctString);
 }
 - (void)testStringRepresentationForSemiTransparentMagenta
 {
 	NSColor *color = [[NSColor magentaColor] colorWithAlphaComponent:0.5f];
 	NSString *correctString = @"255,0,255,127";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for magenta should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for magenta should be %@", correctString);
 }
 - (void)testStringRepresentationForSemiTransparentWhite
 {
 	NSColor *color = [[NSColor whiteColor] colorWithAlphaComponent:0.5f];
 	NSString *correctString = @"255,255,255,127";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for white should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for white should be %@", correctString);
 }
 - (void)testStringRepresentationForSemiTransparentBlack
 {
 	NSColor *color = [[NSColor blackColor] colorWithAlphaComponent:0.5f];
 	NSString *correctString = @"0,0,0,127";
-	STAssertEqualObjects([color stringRepresentation], correctString, @"String representation for black should be %@", correctString);
+	XCTAssertEqualObjects([color stringRepresentation], correctString, @"String representation for black should be %@", correctString);
 }
 
 #pragma mark -CSSRepresentation
@@ -362,49 +362,49 @@
 {
 	NSColor *color = [NSColor redColor];
 	NSString *correctString = @"#ff0000";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for red (with alpha = 1) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for red (with alpha = 1) should be %@", correctString);
 }
 - (void)testCSSRepresentationForYellow
 {
 	NSColor *color = [NSColor yellowColor];
 	NSString *correctString = @"#ffff00";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for yellow (with alpha = 1) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for yellow (with alpha = 1) should be %@", correctString);
 }
 - (void)testCSSRepresentationForGreen
 {
 	NSColor *color = [NSColor greenColor];
 	NSString *correctString = @"#00ff00";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for green (with alpha = 1) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for green (with alpha = 1) should be %@", correctString);
 }
 - (void)testCSSRepresentationForCyan
 {
 	NSColor *color = [NSColor cyanColor];
 	NSString *correctString = @"#00ffff";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for cyan (with alpha = 1) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for cyan (with alpha = 1) should be %@", correctString);
 }
 - (void)testCSSRepresentationForBlue
 {
 	NSColor *color = [NSColor blueColor];
 	NSString *correctString = @"#0000ff";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for blue (with alpha = 1) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for blue (with alpha = 1) should be %@", correctString);
 }
 - (void)testCSSRepresentationForMagenta
 {
 	NSColor *color = [NSColor magentaColor];
 	NSString *correctString = @"#ff00ff";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for magenta (with alpha = 1) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for magenta (with alpha = 1) should be %@", correctString);
 }
 - (void)testCSSRepresentationForWhite
 {
 	NSColor *color = [NSColor whiteColor];
 	NSString *correctString = @"#ffffff";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for white (with alpha = 1) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for white (with alpha = 1) should be %@", correctString);
 }
 - (void)testCSSRepresentationForBlack
 {
 	NSColor *color = [NSColor blackColor];
 	NSString *correctString = @"#000000";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for black (with alpha = 1) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for black (with alpha = 1) should be %@", correctString);
 }
 
 #pragma mark -
@@ -413,49 +413,49 @@
 {
 	NSColor *color = [[NSColor redColor] colorWithAlphaComponent:(CGFloat)0.5f];
 	NSString *correctString = @"rgba(255,0,0,0.5)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for red (with alpha = 0.5) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for red (with alpha = 0.5) should be %@", correctString);
 }
 - (void)testCSSRepresentationForSemiTransparentYellow
 {
 	NSColor *color = [[NSColor yellowColor] colorWithAlphaComponent:(CGFloat)0.5f];
 	NSString *correctString = @"rgba(255,255,0,0.5)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for yellow (with alpha = 0.5) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for yellow (with alpha = 0.5) should be %@", correctString);
 }
 - (void)testCSSRepresentationForSemiTransparentGreen
 {
 	NSColor *color = [[NSColor greenColor] colorWithAlphaComponent:(CGFloat)0.5f];
 	NSString *correctString = @"rgba(0,255,0,0.5)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for green (with alpha = 0.5) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for green (with alpha = 0.5) should be %@", correctString);
 }
 - (void)testCSSRepresentationForSemiTransparentCyan
 {
 	NSColor *color = [[NSColor cyanColor] colorWithAlphaComponent:(CGFloat)0.5f];
 	NSString *correctString = @"rgba(0,255,255,0.5)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for cyan (with alpha = 0.5) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for cyan (with alpha = 0.5) should be %@", correctString);
 }
 - (void)testCSSRepresentationForSemiTransparentBlue
 {
 	NSColor *color = [[NSColor blueColor] colorWithAlphaComponent:(CGFloat)0.5f];
 	NSString *correctString = @"rgba(0,0,255,0.5)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for blue (with alpha = 0.5) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for blue (with alpha = 0.5) should be %@", correctString);
 }
 - (void)testCSSRepresentationForSemiTransparentMagenta
 {
 	NSColor *color = [[NSColor magentaColor] colorWithAlphaComponent:(CGFloat)0.5f];
 	NSString *correctString = @"rgba(255,0,255,0.5)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for magenta (with alpha = 0.5) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for magenta (with alpha = 0.5) should be %@", correctString);
 }
 - (void)testCSSRepresentationForSemiTransparentWhite
 {
 	NSColor *color = [[NSColor whiteColor] colorWithAlphaComponent:(CGFloat)0.5f];
 	NSString *correctString = @"rgba(255,255,255,0.5)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for white (with alpha = 0.5) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for white (with alpha = 0.5) should be %@", correctString);
 }
 - (void)testCSSRepresentationForSemiTransparentBlack
 {
 	NSColor *color = [[NSColor blackColor] colorWithAlphaComponent:(CGFloat)0.5f];
 	NSString *correctString = @"rgba(0,0,0,0.5)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for black (with alpha = 0.5) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for black (with alpha = 0.5) should be %@", correctString);
 }
 
 #pragma mark -
@@ -464,98 +464,98 @@
 {
 	NSColor *color = [[NSColor redColor] colorWithAlphaComponent:(CGFloat)0.0f];
 	NSString *correctString = @"rgba(255,0,0,0)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for red (with alpha = 0) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for red (with alpha = 0) should be %@", correctString);
 }
 - (void)testCSSRepresentationForTransparentYellow
 {
 	NSColor *color = [[NSColor yellowColor] colorWithAlphaComponent:(CGFloat)0.0f];
 	NSString *correctString = @"rgba(255,255,0,0)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for yellow (with alpha = 0) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for yellow (with alpha = 0) should be %@", correctString);
 }
 - (void)testCSSRepresentationForTransparentGreen
 {
 	NSColor *color = [[NSColor greenColor] colorWithAlphaComponent:(CGFloat)0.0f];
 	NSString *correctString = @"rgba(0,255,0,0)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for green (with alpha = 0) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for green (with alpha = 0) should be %@", correctString);
 }
 - (void)testCSSRepresentationForTransparentCyan
 {
 	NSColor *color = [[NSColor cyanColor] colorWithAlphaComponent:(CGFloat)0.0f];
 	NSString *correctString = @"rgba(0,255,255,0)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for cyan (with alpha = 0) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for cyan (with alpha = 0) should be %@", correctString);
 }
 - (void)testCSSRepresentationForTransparentBlue
 {
 	NSColor *color = [[NSColor blueColor] colorWithAlphaComponent:(CGFloat)0.0f];
 	NSString *correctString = @"rgba(0,0,255,0)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for blue (with alpha = 0) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for blue (with alpha = 0) should be %@", correctString);
 }
 - (void)testCSSRepresentationForTransparentMagenta
 {
 	NSColor *color = [[NSColor magentaColor] colorWithAlphaComponent:(CGFloat)0.0f];
 	NSString *correctString = @"rgba(255,0,255,0)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for magenta (with alpha = 0) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for magenta (with alpha = 0) should be %@", correctString);
 }
 - (void)testCSSRepresentationForTransparentWhite
 {
 	NSColor *color = [[NSColor whiteColor] colorWithAlphaComponent:(CGFloat)0.0f];
 	NSString *correctString = @"rgba(255,255,255,0)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for white (with alpha = 0) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for white (with alpha = 0) should be %@", correctString);
 }
 - (void)testCSSRepresentationForTransparentBlack
 {
 	NSColor *color = [[NSColor blackColor] colorWithAlphaComponent:(CGFloat)0.0f];
 	NSString *correctString = @"rgba(0,0,0,0)";
-	STAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for black (with alpha = 0) should be %@", correctString);
+	XCTAssertEqualObjects([color CSSRepresentation], correctString, @"CSS representation for black (with alpha = 0) should be %@", correctString);
 }
 
 #pragma mark hexToInt/intToHex
 - (void)testHexToInt_DecimalNumeral
 {
-	STAssertEquals(hexToInt('0'), 0x0, @"'0' as hex should be 0");
-	STAssertEquals(hexToInt('9'), 0x9, @"'9' as hex should be 9");
+	XCTAssertEqual(hexToInt('0'), 0x0, @"'0' as hex should be 0");
+	XCTAssertEqual(hexToInt('9'), 0x9, @"'9' as hex should be 9");
 }
 - (void)testHexToInt_UppercaseLetter
 {
-	STAssertEquals(hexToInt('A'), 0xA, @"'A' as hex should be 0xA (10)");
-	STAssertEquals(hexToInt('F'), 0xF, @"'F' as hex should be 0xF (15)");
+	XCTAssertEqual(hexToInt('A'), 0xA, @"'A' as hex should be 0xA (10)");
+	XCTAssertEqual(hexToInt('F'), 0xF, @"'F' as hex should be 0xF (15)");
 }
 - (void)testHexToInt_LowercaseLetter
 {
-	STAssertEquals(hexToInt('a'), 0xa, @"'a' as hex should be 0xa (10)");
-	STAssertEquals(hexToInt('f'), 0xf, @"'f' as hex should be 0xf (15)");
+	XCTAssertEqual(hexToInt('a'), 0xa, @"'a' as hex should be 0xa (10)");
+	XCTAssertEqual(hexToInt('f'), 0xf, @"'f' as hex should be 0xf (15)");
 }
 - (void)testHexToInt_InvalidCharacters
 {
 	//Outside the range '0' through '9': Invalid.
-	STAssertEquals(hexToInt('0' - 1), -1, @"'%c' is not valid hex; hexToInt should return -1", '0' - 1);
-	STAssertEquals(hexToInt('9' + 1), -1, @"'%c' is not valid hex; hexToInt should return -1", '9' + 1);
+	XCTAssertEqual(hexToInt('0' - 1), -1, @"'%c' is not valid hex; hexToInt should return -1", '0' - 1);
+	XCTAssertEqual(hexToInt('9' + 1), -1, @"'%c' is not valid hex; hexToInt should return -1", '9' + 1);
 	//Outside the range 'a' through 'f': Invalid.
-	STAssertEquals(hexToInt('a' - 1), -1, @"'%c' is not valid hex; hexToInt should return -1", 'a' - 1);
-	STAssertEquals(hexToInt('f' + 1), -1, @"'%c' is not valid hex; hexToInt should return -1", 'f' + 1);
+	XCTAssertEqual(hexToInt('a' - 1), -1, @"'%c' is not valid hex; hexToInt should return -1", 'a' - 1);
+	XCTAssertEqual(hexToInt('f' + 1), -1, @"'%c' is not valid hex; hexToInt should return -1", 'f' + 1);
 	//Outside the range 'A' through 'F': Invalid.
-	STAssertEquals(hexToInt('A' - 1), -1, @"'%c' is not valid hex; hexToInt should return -1", 'A' - 1);
-	STAssertEquals(hexToInt('F' + 1), -1, @"'%c' is not valid hex; hexToInt should return -1", 'F' + 1);
+	XCTAssertEqual(hexToInt('A' - 1), -1, @"'%c' is not valid hex; hexToInt should return -1", 'A' - 1);
+	XCTAssertEqual(hexToInt('F' + 1), -1, @"'%c' is not valid hex; hexToInt should return -1", 'F' + 1);
 }
 - (void)testIntToHex_0
 {
-	//Cast explanation: 'x' literals are ints, whereas intToHex returns a char. STAssertEquals fails if the two objects are not *exactly* the same type.
-	STAssertEquals(intToHex(0x0), (char)'0', @"0 as hex should be '0'");
+	//Cast explanation: 'x' literals are ints, whereas intToHex returns a char. XCTAssertEquals fails if the two objects are not *exactly* the same type.
+	XCTAssertEqual(intToHex(0x0), (char)'0', @"0 as hex should be '0'");
 }
 - (void)testIntToHex_15
 {
-	//Cast explanation: 'x' literals are ints, whereas intToHex returns a char. STAssertEquals fails if the two objects are not *exactly* the same type.
-	STAssertEquals(intToHex(0xa), (char)'a', @"0xa (15) as hex should be 'a'");
+	//Cast explanation: 'x' literals are ints, whereas intToHex returns a char. XCTAssertEquals fails if the two objects are not *exactly* the same type.
+	XCTAssertEqual(intToHex(0xa), (char)'a', @"0xa (15) as hex should be 'a'");
 }
 - (void)testIntToHex_16
 {
-	//Cast explanation: 'x' literals are ints, whereas intToHex returns a char. STAssertEquals fails if the two objects are not *exactly* the same type.
-	STAssertEquals(intToHex(16), (char)'\0', @"0xf + 1 (16) as hex should be NUL");
+	//Cast explanation: 'x' literals are ints, whereas intToHex returns a char. XCTAssertEquals fails if the two objects are not *exactly* the same type.
+	XCTAssertEqual(intToHex(16), (char)'\0', @"0xf + 1 (16) as hex should be NUL");
 }
 - (void)testIntToHex_Neg1
 {
-	//Cast explanation: 'x' literals are ints, whereas intToHex returns a char. STAssertEquals fails if the two objects are not *exactly* the same type.
-	STAssertEquals(intToHex(-1), (char)'\0', @"-1 as hex should be NUL");
+	//Cast explanation: 'x' literals are ints, whereas intToHex returns a char. XCTAssertEquals fails if the two objects are not *exactly* the same type.
+	XCTAssertEqual(intToHex(-1), (char)'\0', @"-1 as hex should be NUL");
 }
 
 #pragma mark -representedColor
@@ -563,58 +563,58 @@
 - (void)testRepresentedColorWithThreeNonZeroComponents
 {
 	NSColor *white = [@"255,255,255" representedColor];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1");
 }
 - (void)testRepresentedColorWithThreeZeroComponents
 {
 	NSColor *black = [@"0,0,0" representedColor];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0");
 }
 - (void)testRepresentedColorWithFourNonZeroComponents;
 {
 	NSColor *white = [@"255,255,255,127" representedColor];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1");
-	STAssertEquals([white alphaComponent], (CGFloat)127.0f / (CGFloat)255.0f, @"Alpha component of white should be %f", (CGFloat)127.0f / (CGFloat)255.0f);
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1");
+	XCTAssertEqual([white alphaComponent], (CGFloat)127.0f / (CGFloat)255.0f, @"Alpha component of white should be %f", (CGFloat)127.0f / (CGFloat)255.0f);
 }
 - (void)testRepresentedColorWithFourZeroComponents;
 {
 	NSColor *black = [@"0,0,0,0" representedColor];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0");
-	STAssertEquals([black alphaComponent], (CGFloat)0.0f, @"Alpha component of black should be 0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0");
+	XCTAssertEqual([black alphaComponent], (CGFloat)0.0f, @"Alpha component of black should be 0");
 }
 //Invalid
 - (void)testRepresentedColorWithEmptyString
 {
 	NSColor *noColor = [@"" representedColor];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by the empty string should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by the empty string should be nil");
 }
 - (void)testRepresentedColorWithInvalidString;
 {
 	NSColor *noColor = [TEST_STRING_1 representedColor];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by '%@' should be nil", TEST_STRING_1);
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by '%@' should be nil", TEST_STRING_1);
 }
 - (void)testRepresentedColorWithTwoCommas;
 {
 	NSColor *noColor = [@",," representedColor];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by two commas should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by two commas should be nil");
 }
 - (void)testRepresentedColorWithThreeCommas;
 {
 	NSColor *noColor = [@",,," representedColor];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by three commas should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by three commas should be nil");
 }
 - (void)testRepresentedColorWithFourCommas
 {
 	NSColor *noColor = [@",,,," representedColor];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by four commas should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by four commas should be nil");
 }
 
 #pragma mark -representedColorWithAlpha:
@@ -622,62 +622,62 @@
 - (void)testRepresentedColorWithAlphaWithThreeNonZeroComponents
 {
 	NSColor *white = [@"255,255,255" representedColorWithAlpha:0.5f];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white (with alpha forced to 0.5) should be 1");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white (with alpha forced to 0.5) should be 1");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white (with alpha forced to 0.5) should be 1");
-	STAssertEquals([white alphaComponent], (CGFloat)0.5f, @"Alpha component of white (with alpha forced to 0.5) should be 0.5");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white (with alpha forced to 0.5) should be 1");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white (with alpha forced to 0.5) should be 1");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white (with alpha forced to 0.5) should be 1");
+	XCTAssertEqual([white alphaComponent], (CGFloat)0.5f, @"Alpha component of white (with alpha forced to 0.5) should be 0.5");
 }
 - (void)testRepresentedColorWithAlphaWithThreeZeroComponents
 {
 	NSColor *black = [@"0,0,0" representedColorWithAlpha:0.5f];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black (with alpha forced to 0.5) should be 0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black (with alpha forced to 0.5) should be 0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black (with alpha forced to 0.5) should be 0");
-	STAssertEquals([black alphaComponent], (CGFloat)0.5f, @"Alpha component of black (with alpha forced to 0.5) should be 0.5");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black (with alpha forced to 0.5) should be 0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black (with alpha forced to 0.5) should be 0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black (with alpha forced to 0.5) should be 0");
+	XCTAssertEqual([black alphaComponent], (CGFloat)0.5f, @"Alpha component of black (with alpha forced to 0.5) should be 0.5");
 }
 - (void)testRepresentedColorWithAlphaWithFourNonZeroComponents;
 {
 	NSColor *white = [@"255,255,255,127" representedColorWithAlpha:0.5f];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white (with alpha forced to 0.5) should be 1");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white (with alpha forced to 0.5) should be 1");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white (with alpha forced to 0.5) should be 1");
-	STAssertEquals([white alphaComponent], (CGFloat)0.5f, @"Alpha component of white (with alpha forced to 0.5) should be 0.5");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white (with alpha forced to 0.5) should be 1");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white (with alpha forced to 0.5) should be 1");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white (with alpha forced to 0.5) should be 1");
+	XCTAssertEqual([white alphaComponent], (CGFloat)0.5f, @"Alpha component of white (with alpha forced to 0.5) should be 0.5");
 }
 - (void)testRepresentedColorWithAlphaWithFourZeroComponents;
 {
 	NSColor *black = [@"0,0,0,0" representedColorWithAlpha:0.5f];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black (with alpha forced to 0.5) should be 0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black (with alpha forced to 0.5) should be 0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black (with alpha forced to 0.5) should be 0");
-	STAssertEquals([black alphaComponent], (CGFloat)0.5f, @"Alpha component of black (with alpha forced to 0.5) should be 0.5");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black (with alpha forced to 0.5) should be 0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black (with alpha forced to 0.5) should be 0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black (with alpha forced to 0.5) should be 0");
+	XCTAssertEqual([black alphaComponent], (CGFloat)0.5f, @"Alpha component of black (with alpha forced to 0.5) should be 0.5");
 }
 //Invalid
 - (void)testRepresentedColorWithAlphaWithEmptyString
 {
 	NSColor *noColor = [@"" representedColorWithAlpha:0.5f];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by the empty string (with alpha forced to 0.5f) should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by the empty string (with alpha forced to 0.5f) should be nil");
 }
 - (void)testRepresentedColorWithAlphaWithInvalidString;
 {
 	NSColor *noColor = [TEST_STRING_2 representedColorWithAlpha:0.5f];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by '%@' (with alpha forced to 0.5) should be nil", TEST_STRING_1);
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by '%@' (with alpha forced to 0.5) should be nil", TEST_STRING_1);
 }
 - (void)testRepresentedColorWithAlphaWithTwoCommas;
 {
 	NSColor *noColor = [@",," representedColorWithAlpha:0.5f];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by two commas (with alpha forced to 0.5) should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by two commas (with alpha forced to 0.5) should be nil");
 }
 - (void)testRepresentedColorWithAlphaWithThreeCommas;
 {
 	NSColor *noColor = [@",,," representedColorWithAlpha:0.5f];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color represented by three commas (with alpha forced to 0.5) should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color represented by three commas (with alpha forced to 0.5) should be nil");
 }
 
 #pragma mark -randomColor
 - (void)testRandomColorHasAlpha1
 {
 	NSColor *color = [NSColor randomColor];
-	STAssertEquals([color alphaComponent], (CGFloat)1.0f, @"Alpha component of color from +randomColor should be 1");
+	XCTAssertEqual([color alphaComponent], (CGFloat)1.0f, @"Alpha component of color from +randomColor should be 1");
 }
 
 #pragma mark +colorWithHTMLString:
@@ -687,1096 +687,1096 @@
 {
 	NSString *string = @"#ff0000";
 	NSColor *red = [NSColor colorWithHTMLString:string];
-	STAssertEquals([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
-	STAssertEquals([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
-	STAssertEquals([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
+	XCTAssertEqual([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
+	XCTAssertEqual([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
+	XCTAssertEqual([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForRedUppercase
 {
 	NSString *string = @"#FF0000";
 	NSColor *red = [NSColor colorWithHTMLString:string];
-	STAssertEquals([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
-	STAssertEquals([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
-	STAssertEquals([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
+	XCTAssertEqual([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
+	XCTAssertEqual([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
+	XCTAssertEqual([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForYellowLowercase
 {
 	NSString *string = @"#ffff00";
 	NSColor *yellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
-	STAssertEquals([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
-	STAssertEquals([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
+	XCTAssertEqual([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
+	XCTAssertEqual([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
+	XCTAssertEqual([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForYellowUppercase
 {
 	NSString *string = @"#FFFF00";
 	NSColor *yellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
-	STAssertEquals([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
-	STAssertEquals([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
+	XCTAssertEqual([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
+	XCTAssertEqual([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
+	XCTAssertEqual([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForGreenLowercase
 {
 	NSString *string = @"#00ff00";
 	NSColor *green = [NSColor colorWithHTMLString:string];
-	STAssertEquals([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForGreenUppercase
 {
 	NSString *string = @"#00FF00";
 	NSColor *green = [NSColor colorWithHTMLString:string];
-	STAssertEquals([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForCyanLowercase
 {
 	NSString *string = @"#00ffff";
 	NSColor *cyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
-	STAssertEquals([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
-	STAssertEquals([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
+	XCTAssertEqual([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
+	XCTAssertEqual([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
+	XCTAssertEqual([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForCyanUppercase
 {
 	NSString *string = @"#00FFFF";
 	NSColor *cyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
-	STAssertEquals([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
-	STAssertEquals([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
+	XCTAssertEqual([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
+	XCTAssertEqual([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
+	XCTAssertEqual([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForBlueLowercase
 {
 	NSString *string = @"#0000ff";
 	NSColor *blue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
-	STAssertEquals([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
-	STAssertEquals([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
+	XCTAssertEqual([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
+	XCTAssertEqual([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
+	XCTAssertEqual([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForBlueUppercase
 {
 	NSString *string = @"#0000FF";
 	NSColor *blue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
-	STAssertEquals([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
-	STAssertEquals([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
+	XCTAssertEqual([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
+	XCTAssertEqual([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
+	XCTAssertEqual([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForMagentaLowercase
 {
 	NSString *string = @"#ff00ff";
 	NSColor *magenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
-	STAssertEquals([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
-	STAssertEquals([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
+	XCTAssertEqual([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
+	XCTAssertEqual([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
+	XCTAssertEqual([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForMagentaUppercase
 {
 	NSString *string = @"#FF00FF";
 	NSColor *magenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
-	STAssertEquals([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
-	STAssertEquals([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
+	XCTAssertEqual([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
+	XCTAssertEqual([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
+	XCTAssertEqual([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForWhiteLowercase
 {
 	NSString *string = @"#ffffff";
 	NSColor *white = [NSColor colorWithHTMLString:string];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForWhiteUppercase
 {
 	NSString *string = @"#FFFFFF";
 	NSColor *white = [NSColor colorWithHTMLString:string];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForBlackLowercase
 {
 	NSString *string = @"#000000";
 	NSColor *black = [NSColor colorWithHTMLString:string];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForBlackUppercase
 {
 	NSString *string = @"#000000";
 	NSColor *black = [NSColor colorWithHTMLString:string];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
 }
 
 - (void)testColorWith3DigitHTMLStringForRedLowercase
 {
 	NSString *string = @"#f00";
 	NSColor *red = [NSColor colorWithHTMLString:string];
-	STAssertEquals([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
-	STAssertEquals([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
-	STAssertEquals([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
+	XCTAssertEqual([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
+	XCTAssertEqual([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
+	XCTAssertEqual([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForRedUppercase
 {
 	NSString *string = @"#F00";
 	NSColor *red = [NSColor colorWithHTMLString:string];
-	STAssertEquals([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
-	STAssertEquals([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
-	STAssertEquals([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
+	XCTAssertEqual([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
+	XCTAssertEqual([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
+	XCTAssertEqual([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForYellowLowercase
 {
 	NSString *string = @"#ff0";
 	NSColor *yellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
-	STAssertEquals([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
-	STAssertEquals([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
+	XCTAssertEqual([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
+	XCTAssertEqual([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
+	XCTAssertEqual([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForYellowUppercase
 {
 	NSString *string = @"#FF0";
 	NSColor *yellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
-	STAssertEquals([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
-	STAssertEquals([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
+	XCTAssertEqual([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
+	XCTAssertEqual([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
+	XCTAssertEqual([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForGreenLowercase
 {
 	NSString *string = @"#0f0";
 	NSColor *green = [NSColor colorWithHTMLString:string];
-	STAssertEquals([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForGreenUppercase
 {
 	NSString *string = @"#0F0";
 	NSColor *green = [NSColor colorWithHTMLString:string];
-	STAssertEquals([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForCyanLowercase
 {
 	NSString *string = @"#0ff";
 	NSColor *cyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
-	STAssertEquals([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
-	STAssertEquals([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
+	XCTAssertEqual([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
+	XCTAssertEqual([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
+	XCTAssertEqual([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForCyanUppercase
 {
 	NSString *string = @"#0FF";
 	NSColor *cyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
-	STAssertEquals([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
-	STAssertEquals([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
+	XCTAssertEqual([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
+	XCTAssertEqual([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
+	XCTAssertEqual([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForBlueLowercase
 {
 	NSString *string = @"#00f";
 	NSColor *blue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
-	STAssertEquals([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
-	STAssertEquals([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
+	XCTAssertEqual([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
+	XCTAssertEqual([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
+	XCTAssertEqual([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForBlueUppercase
 {
 	NSString *string = @"#00F";
 	NSColor *blue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
-	STAssertEquals([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
-	STAssertEquals([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
+	XCTAssertEqual([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
+	XCTAssertEqual([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
+	XCTAssertEqual([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForMagentaLowercase
 {
 	NSString *string = @"#f0f";
 	NSColor *magenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
-	STAssertEquals([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
-	STAssertEquals([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
+	XCTAssertEqual([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
+	XCTAssertEqual([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
+	XCTAssertEqual([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForMagentaUppercase
 {
 	NSString *string = @"#F0F";
 	NSColor *magenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
-	STAssertEquals([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
-	STAssertEquals([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
+	XCTAssertEqual([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
+	XCTAssertEqual([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
+	XCTAssertEqual([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForWhiteLowercase
 {
 	NSString *string = @"#fff";
 	NSColor *white = [NSColor colorWithHTMLString:string];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForWhiteUppercase
 {
 	NSString *string = @"#FFF";
 	NSColor *white = [NSColor colorWithHTMLString:string];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForBlackLowercase
 {
 	NSString *string = @"#000";
 	NSColor *black = [NSColor colorWithHTMLString:string];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForBlackUppercase
 {
 	NSString *string = @"#000";
 	NSColor *black = [NSColor colorWithHTMLString:string];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
 }
 
 - (void)testColorWith8DigitHTMLStringForRedLowercase
 {
 	NSString *string = @"#ff0000ff";
 	NSColor *red = [NSColor colorWithHTMLString:string];
-	STAssertEquals([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
-	STAssertEquals([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
-	STAssertEquals([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
-	STAssertEquals([red alphaComponent], (CGFloat)1.0f, @"Alpha component of red should be 1.0");
+	XCTAssertEqual([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
+	XCTAssertEqual([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
+	XCTAssertEqual([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
+	XCTAssertEqual([red alphaComponent], (CGFloat)1.0f, @"Alpha component of red should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForRedUppercase
 {
 	NSString *string = @"#FF0000FF";
 	NSColor *red = [NSColor colorWithHTMLString:string];
-	STAssertEquals([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
-	STAssertEquals([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
-	STAssertEquals([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
-	STAssertEquals([red alphaComponent], (CGFloat)1.0f, @"Alpha component of red should be 1.0");
+	XCTAssertEqual([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
+	XCTAssertEqual([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
+	XCTAssertEqual([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
+	XCTAssertEqual([red alphaComponent], (CGFloat)1.0f, @"Alpha component of red should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForYellowLowercase
 {
 	NSString *string = @"#ffff00ff";
 	NSColor *yellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
-	STAssertEquals([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
-	STAssertEquals([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
-	STAssertEquals([yellow alphaComponent], (CGFloat)1.0f, @"Alpha component of yellow should be 1.0");
+	XCTAssertEqual([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
+	XCTAssertEqual([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
+	XCTAssertEqual([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
+	XCTAssertEqual([yellow alphaComponent], (CGFloat)1.0f, @"Alpha component of yellow should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForYellowUppercase
 {
 	NSString *string = @"#FFFF00FF";
 	NSColor *yellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
-	STAssertEquals([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
-	STAssertEquals([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
-	STAssertEquals([yellow alphaComponent], (CGFloat)1.0f, @"Alpha component of yellow should be 1.0");
+	XCTAssertEqual([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
+	XCTAssertEqual([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
+	XCTAssertEqual([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
+	XCTAssertEqual([yellow alphaComponent], (CGFloat)1.0f, @"Alpha component of yellow should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForGreenLowercase
 {
 	NSString *string = @"#00ff00ff";
 	NSColor *green = [NSColor colorWithHTMLString:string];
-	STAssertEquals([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
-	STAssertEquals([green alphaComponent], (CGFloat)1.0f, @"Alpha component of green should be 1.0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
+	XCTAssertEqual([green alphaComponent], (CGFloat)1.0f, @"Alpha component of green should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForGreenUppercase
 {
 	NSString *string = @"#00FF00FF";
 	NSColor *green = [NSColor colorWithHTMLString:string];
-	STAssertEquals([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
-	STAssertEquals([green alphaComponent], (CGFloat)1.0f, @"Alpha component of green should be 1.0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
+	XCTAssertEqual([green alphaComponent], (CGFloat)1.0f, @"Alpha component of green should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForCyanLowercase
 {
 	NSString *string = @"#00ffffff";
 	NSColor *cyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
-	STAssertEquals([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
-	STAssertEquals([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
-	STAssertEquals([cyan alphaComponent], (CGFloat)1.0f, @"Alpha component of cyan should be 1.0");
+	XCTAssertEqual([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
+	XCTAssertEqual([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
+	XCTAssertEqual([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
+	XCTAssertEqual([cyan alphaComponent], (CGFloat)1.0f, @"Alpha component of cyan should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForCyanUppercase
 {
 	NSString *string = @"#00FFFFFF";
 	NSColor *cyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
-	STAssertEquals([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
-	STAssertEquals([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
-	STAssertEquals([cyan alphaComponent], (CGFloat)1.0f, @"Alpha component of cyan should be 1.0");
+	XCTAssertEqual([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
+	XCTAssertEqual([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
+	XCTAssertEqual([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
+	XCTAssertEqual([cyan alphaComponent], (CGFloat)1.0f, @"Alpha component of cyan should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForBlueLowercase
 {
 	NSString *string = @"#0000ffff";
 	NSColor *blue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
-	STAssertEquals([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
-	STAssertEquals([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
-	STAssertEquals([blue alphaComponent], (CGFloat)1.0f, @"Alpha component of blue should be 1.0");
+	XCTAssertEqual([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
+	XCTAssertEqual([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
+	XCTAssertEqual([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
+	XCTAssertEqual([blue alphaComponent], (CGFloat)1.0f, @"Alpha component of blue should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForBlueUppercase
 {
 	NSString *string = @"#0000FFFF";
 	NSColor *blue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
-	STAssertEquals([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
-	STAssertEquals([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
-	STAssertEquals([blue alphaComponent], (CGFloat)1.0f, @"Alpha component of blue should be 1.0");
+	XCTAssertEqual([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
+	XCTAssertEqual([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
+	XCTAssertEqual([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
+	XCTAssertEqual([blue alphaComponent], (CGFloat)1.0f, @"Alpha component of blue should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForMagentaLowercase
 {
 	NSString *string = @"#ff00ffff";
 	NSColor *magenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
-	STAssertEquals([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
-	STAssertEquals([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
-	STAssertEquals([magenta alphaComponent], (CGFloat)1.0f, @"Alpha component of magenta should be 1.0");
+	XCTAssertEqual([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
+	XCTAssertEqual([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
+	XCTAssertEqual([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
+	XCTAssertEqual([magenta alphaComponent], (CGFloat)1.0f, @"Alpha component of magenta should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForMagentaUppercase
 {
 	NSString *string = @"#FF00FFFF";
 	NSColor *magenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
-	STAssertEquals([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
-	STAssertEquals([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
-	STAssertEquals([magenta alphaComponent], (CGFloat)1.0f, @"Alpha component of magenta should be 1.0");
+	XCTAssertEqual([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
+	XCTAssertEqual([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
+	XCTAssertEqual([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
+	XCTAssertEqual([magenta alphaComponent], (CGFloat)1.0f, @"Alpha component of magenta should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForWhiteLowercase
 {
 	NSString *string = @"#ffffffff";
 	NSColor *white = [NSColor colorWithHTMLString:string];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
-	STAssertEquals([white alphaComponent], (CGFloat)1.0f, @"Alpha component of white should be 1.0");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
+	XCTAssertEqual([white alphaComponent], (CGFloat)1.0f, @"Alpha component of white should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForWhiteUppercase
 {
 	NSString *string = @"#FFFFFFFF";
 	NSColor *white = [NSColor colorWithHTMLString:string];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
-	STAssertEquals([white alphaComponent], (CGFloat)1.0f, @"Alpha component of white should be 1.0");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
+	XCTAssertEqual([white alphaComponent], (CGFloat)1.0f, @"Alpha component of white should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForBlackLowercase
 {
 	NSString *string = @"#000000ff";
 	NSColor *black = [NSColor colorWithHTMLString:string];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
-	STAssertEquals([black alphaComponent], (CGFloat)1.0f, @"Alpha component of black should be 1.0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
+	XCTAssertEqual([black alphaComponent], (CGFloat)1.0f, @"Alpha component of black should be 1.0");
 }
 - (void)testColorWith8DigitHTMLStringForBlackUppercase
 {
 	NSString *string = @"#000000FF";
 	NSColor *black = [NSColor colorWithHTMLString:string];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
-	STAssertEquals([black alphaComponent], (CGFloat)1.0f, @"Alpha component of black should be 1.0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
+	XCTAssertEqual([black alphaComponent], (CGFloat)1.0f, @"Alpha component of black should be 1.0");
 }
 
 - (void)testColorWith4DigitHTMLStringForRedLowercase
 {
 	NSString *string = @"#f00f";
 	NSColor *red = [NSColor colorWithHTMLString:string];
-	STAssertEquals([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
-	STAssertEquals([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
-	STAssertEquals([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
-	STAssertEquals([red alphaComponent], (CGFloat)1.0f, @"Alpha component of red should be 1.0");
+	XCTAssertEqual([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
+	XCTAssertEqual([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
+	XCTAssertEqual([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
+	XCTAssertEqual([red alphaComponent], (CGFloat)1.0f, @"Alpha component of red should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForRedUppercase
 {
 	NSString *string = @"#F00F";
 	NSColor *red = [NSColor colorWithHTMLString:string];
-	STAssertEquals([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
-	STAssertEquals([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
-	STAssertEquals([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
-	STAssertEquals([red alphaComponent], (CGFloat)1.0f, @"Alpha component of red should be 1.0");
+	XCTAssertEqual([red   redComponent], (CGFloat)1.0f,   @"Red component of red should be 1.0");
+	XCTAssertEqual([red greenComponent], (CGFloat)0.0f, @"Green component of red should be 0.0");
+	XCTAssertEqual([red  blueComponent], (CGFloat)0.0f,  @"Blue component of red should be 0.0");
+	XCTAssertEqual([red alphaComponent], (CGFloat)1.0f, @"Alpha component of red should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForYellowLowercase
 {
 	NSString *string = @"#ff0f";
 	NSColor *yellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
-	STAssertEquals([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
-	STAssertEquals([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
-	STAssertEquals([yellow alphaComponent], (CGFloat)1.0f, @"Alpha component of yellow should be 1.0");
+	XCTAssertEqual([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
+	XCTAssertEqual([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
+	XCTAssertEqual([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
+	XCTAssertEqual([yellow alphaComponent], (CGFloat)1.0f, @"Alpha component of yellow should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForYellowUppercase
 {
 	NSString *string = @"#FF0F";
 	NSColor *yellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
-	STAssertEquals([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
-	STAssertEquals([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
-	STAssertEquals([yellow alphaComponent], (CGFloat)1.0f, @"Alpha component of yellow should be 1.0");
+	XCTAssertEqual([yellow   redComponent], (CGFloat)1.0f,   @"Red component of yellow should be 1.0");
+	XCTAssertEqual([yellow greenComponent], (CGFloat)1.0f, @"Green component of yellow should be 1.0");
+	XCTAssertEqual([yellow  blueComponent], (CGFloat)0.0f,  @"Blue component of yellow should be 0.0");
+	XCTAssertEqual([yellow alphaComponent], (CGFloat)1.0f, @"Alpha component of yellow should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForGreenLowercase
 {
 	NSString *string = @"#0f0f";
 	NSColor *green = [NSColor colorWithHTMLString:string];
-	STAssertEquals([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
-	STAssertEquals([green alphaComponent], (CGFloat)1.0f, @"Alpha component of green should be 1.0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
+	XCTAssertEqual([green alphaComponent], (CGFloat)1.0f, @"Alpha component of green should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForGreenUppercase
 {
 	NSString *string = @"#0F0F";
 	NSColor *green = [NSColor colorWithHTMLString:string];
-	STAssertEquals([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
-	STAssertEquals([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
-	STAssertEquals([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
-	STAssertEquals([green alphaComponent], (CGFloat)1.0f, @"Alpha component of green should be 1.0");
+	XCTAssertEqual([green   redComponent], (CGFloat)0.0f,   @"Red component of green should be 0.0");
+	XCTAssertEqual([green greenComponent], (CGFloat)1.0f, @"Green component of green should be 1.0");
+	XCTAssertEqual([green  blueComponent], (CGFloat)0.0f,  @"Blue component of green should be 0.0");
+	XCTAssertEqual([green alphaComponent], (CGFloat)1.0f, @"Alpha component of green should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForCyanLowercase
 {
 	NSString *string = @"#0fff";
 	NSColor *cyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
-	STAssertEquals([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
-	STAssertEquals([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
-	STAssertEquals([cyan alphaComponent], (CGFloat)1.0f, @"Alpha component of cyan should be 1.0");
+	XCTAssertEqual([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
+	XCTAssertEqual([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
+	XCTAssertEqual([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
+	XCTAssertEqual([cyan alphaComponent], (CGFloat)1.0f, @"Alpha component of cyan should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForCyanUppercase
 {
 	NSString *string = @"#0FFF";
 	NSColor *cyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
-	STAssertEquals([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
-	STAssertEquals([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
-	STAssertEquals([cyan alphaComponent], (CGFloat)1.0f, @"Alpha component of cyan should be 1.0");
+	XCTAssertEqual([cyan   redComponent], (CGFloat)0.0f,   @"Red component of cyan should be 0.0");
+	XCTAssertEqual([cyan greenComponent], (CGFloat)1.0f, @"Green component of cyan should be 1.0");
+	XCTAssertEqual([cyan  blueComponent], (CGFloat)1.0f,  @"Blue component of cyan should be 1.0");
+	XCTAssertEqual([cyan alphaComponent], (CGFloat)1.0f, @"Alpha component of cyan should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForBlueLowercase
 {
 	NSString *string = @"#00ff";
 	NSColor *blue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
-	STAssertEquals([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
-	STAssertEquals([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
-	STAssertEquals([blue alphaComponent], (CGFloat)1.0f, @"Alpha component of blue should be 1.0");
+	XCTAssertEqual([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
+	XCTAssertEqual([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
+	XCTAssertEqual([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
+	XCTAssertEqual([blue alphaComponent], (CGFloat)1.0f, @"Alpha component of blue should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForBlueUppercase
 {
 	NSString *string = @"#00FF";
 	NSColor *blue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
-	STAssertEquals([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
-	STAssertEquals([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
-	STAssertEquals([blue alphaComponent], (CGFloat)1.0f, @"Alpha component of blue should be 1.0");
+	XCTAssertEqual([blue   redComponent], (CGFloat)0.0f,   @"Red component of blue should be 0.0");
+	XCTAssertEqual([blue greenComponent], (CGFloat)0.0f, @"Green component of blue should be 0.0");
+	XCTAssertEqual([blue  blueComponent], (CGFloat)1.0f,  @"Blue component of blue should be 1.0");
+	XCTAssertEqual([blue alphaComponent], (CGFloat)1.0f, @"Alpha component of blue should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForMagentaLowercase
 {
 	NSString *string = @"#f0ff";
 	NSColor *magenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
-	STAssertEquals([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
-	STAssertEquals([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
-	STAssertEquals([magenta alphaComponent], (CGFloat)1.0f, @"Alpha component of magenta should be 1.0");
+	XCTAssertEqual([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
+	XCTAssertEqual([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
+	XCTAssertEqual([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
+	XCTAssertEqual([magenta alphaComponent], (CGFloat)1.0f, @"Alpha component of magenta should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForMagentaUppercase
 {
 	NSString *string = @"#F0FF";
 	NSColor *magenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
-	STAssertEquals([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
-	STAssertEquals([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
-	STAssertEquals([magenta alphaComponent], (CGFloat)1.0f, @"Alpha component of magenta should be 1.0");
+	XCTAssertEqual([magenta   redComponent], (CGFloat)1.0f,   @"Red component of magenta should be 1.0");
+	XCTAssertEqual([magenta greenComponent], (CGFloat)0.0f, @"Green component of magenta should be 0.0");
+	XCTAssertEqual([magenta  blueComponent], (CGFloat)1.0f,  @"Blue component of magenta should be 1.0");
+	XCTAssertEqual([magenta alphaComponent], (CGFloat)1.0f, @"Alpha component of magenta should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForWhiteLowercase
 {
 	NSString *string = @"#ffff";
 	NSColor *white = [NSColor colorWithHTMLString:string];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
-	STAssertEquals([white alphaComponent], (CGFloat)1.0f, @"Alpha component of white should be 1.0");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
+	XCTAssertEqual([white alphaComponent], (CGFloat)1.0f, @"Alpha component of white should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForWhiteUppercase
 {
 	NSString *string = @"#FFFF";
 	NSColor *white = [NSColor colorWithHTMLString:string];
-	STAssertEquals([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
-	STAssertEquals([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
-	STAssertEquals([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
-	STAssertEquals([white alphaComponent], (CGFloat)1.0f, @"Alpha component of white should be 1.0");
+	XCTAssertEqual([white   redComponent], (CGFloat)1.0f,   @"Red component of white should be 1.0");
+	XCTAssertEqual([white greenComponent], (CGFloat)1.0f, @"Green component of white should be 1.0");
+	XCTAssertEqual([white  blueComponent], (CGFloat)1.0f,  @"Blue component of white should be 1.0");
+	XCTAssertEqual([white alphaComponent], (CGFloat)1.0f, @"Alpha component of white should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForBlackLowercase
 {
 	NSString *string = @"#000f";
 	NSColor *black = [NSColor colorWithHTMLString:string];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
-	STAssertEquals([black alphaComponent], (CGFloat)1.0f, @"Alpha component of black should be 1.0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
+	XCTAssertEqual([black alphaComponent], (CGFloat)1.0f, @"Alpha component of black should be 1.0");
 }
 - (void)testColorWith4DigitHTMLStringForBlackUppercase
 {
 	NSString *string = @"#000F";
 	NSColor *black = [NSColor colorWithHTMLString:string];
-	STAssertEquals([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
-	STAssertEquals([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
-	STAssertEquals([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
-	STAssertEquals([black alphaComponent], (CGFloat)1.0f, @"Alpha component of black should be 1.0");
+	XCTAssertEqual([black   redComponent], (CGFloat)0.0f,   @"Red component of black should be 0.0");
+	XCTAssertEqual([black greenComponent], (CGFloat)0.0f, @"Green component of black should be 0.0");
+	XCTAssertEqual([black  blueComponent], (CGFloat)0.0f,  @"Blue component of black should be 0.0");
+	XCTAssertEqual([black alphaComponent], (CGFloat)1.0f, @"Alpha component of black should be 1.0");
 }
 
 - (void)testColorWith6DigitHTMLStringForTransparentRedLowercase
 {
 	NSString *string = @"#ff0000";
 	NSColor *transparentRed = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
-	STAssertEquals([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
-	STAssertEquals([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
+	XCTAssertEqual([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentRedUppercase
 {
 	NSString *string = @"#FF0000";
 	NSColor *transparentRed = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
-	STAssertEquals([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
-	STAssertEquals([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
+	XCTAssertEqual([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentYellowLowercase
 {
 	NSString *string = @"#ffff00";
 	NSColor *transparentYellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentYellowUppercase
 {
 	NSString *string = @"#FFFF00";
 	NSColor *transparentYellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentGreenLowercase
 {
 	NSString *string = @"#00ff00";
 	NSColor *transparentGreen = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
-	STAssertEquals([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
+	XCTAssertEqual([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentGreenUppercase
 {
 	NSString *string = @"#00FF00";
 	NSColor *transparentGreen = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
-	STAssertEquals([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
+	XCTAssertEqual([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentCyanLowercase
 {
 	NSString *string = @"#00ffff";
 	NSColor *transparentCyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
-	STAssertEquals([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentCyanUppercase
 {
 	NSString *string = @"#00FFFF";
 	NSColor *transparentCyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
-	STAssertEquals([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentBlueLowercase
 {
 	NSString *string = @"#0000ff";
 	NSColor *transparentBlue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
+	XCTAssertEqual([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentBlueUppercase
 {
 	NSString *string = @"#0000FF";
 	NSColor *transparentBlue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
+	XCTAssertEqual([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentMagentaLowercase
 {
 	NSString *string = @"#ff00ff";
 	NSColor *transparentMagenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
-	STAssertEquals([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentMagentaUppercase
 {
 	NSString *string = @"#FF00FF";
 	NSColor *transparentMagenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
-	STAssertEquals([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentWhiteLowercase
 {
 	NSString *string = @"#ffffff";
 	NSColor *transparentWhite = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentWhiteUppercase
 {
 	NSString *string = @"#FFFFFF";
 	NSColor *transparentWhite = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentBlackLowercase
 {
 	NSString *string = @"#000000";
 	NSColor *transparentBlack = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
 }
 - (void)testColorWith6DigitHTMLStringForTransparentBlackUppercase
 {
 	NSString *string = @"#000000";
 	NSColor *transparentBlack = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
 }
 
 - (void)testColorWith3DigitHTMLStringForTransparentRedLowercase
 {
 	NSString *string = @"#f00";
 	NSColor *transparentRed = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
-	STAssertEquals([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
-	STAssertEquals([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
+	XCTAssertEqual([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentRedUppercase
 {
 	NSString *string = @"#F00";
 	NSColor *transparentRed = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
-	STAssertEquals([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
-	STAssertEquals([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
+	XCTAssertEqual([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentYellowLowercase
 {
 	NSString *string = @"#ff0";
 	NSColor *transparentYellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentYellowUppercase
 {
 	NSString *string = @"#FF0";
 	NSColor *transparentYellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentGreenLowercase
 {
 	NSString *string = @"#0f0";
 	NSColor *transparentGreen = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
-	STAssertEquals([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
+	XCTAssertEqual([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentGreenUppercase
 {
 	NSString *string = @"#0F0";
 	NSColor *transparentGreen = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
-	STAssertEquals([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
+	XCTAssertEqual([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentCyanLowercase
 {
 	NSString *string = @"#0ff";
 	NSColor *transparentCyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
-	STAssertEquals([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentCyanUppercase
 {
 	NSString *string = @"#0FF";
 	NSColor *transparentCyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
-	STAssertEquals([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentBlueLowercase
 {
 	NSString *string = @"#00f";
 	NSColor *transparentBlue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
+	XCTAssertEqual([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentBlueUppercase
 {
 	NSString *string = @"#00F";
 	NSColor *transparentBlue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
+	XCTAssertEqual([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentMagentaLowercase
 {
 	NSString *string = @"#f0f";
 	NSColor *transparentMagenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
-	STAssertEquals([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentMagentaUppercase
 {
 	NSString *string = @"#F0F";
 	NSColor *transparentMagenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
-	STAssertEquals([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentWhiteLowercase
 {
 	NSString *string = @"#fff";
 	NSColor *transparentWhite = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentWhiteUppercase
 {
 	NSString *string = @"#FFF";
 	NSColor *transparentWhite = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentBlackLowercase
 {
 	NSString *string = @"#000";
 	NSColor *transparentBlack = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
 }
 - (void)testColorWith3DigitHTMLStringForTransparentBlackUppercase
 {
 	NSString *string = @"#000";
 	NSColor *transparentBlack = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
 }
 
 - (void)testColorWith8DigitHTMLStringForTransparentRedLowercase
 {
 	NSString *string = @"#ff000000";
 	NSColor *transparentRed = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
-	STAssertEquals([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
-	STAssertEquals([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
-	STAssertEquals([transparentRed alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
+	XCTAssertEqual([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent red should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentRedUppercase
 {
 	NSString *string = @"#FF000000";
 	NSColor *transparentRed = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
-	STAssertEquals([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
-	STAssertEquals([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
-	STAssertEquals([transparentRed alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
+	XCTAssertEqual([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent red should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentYellowLowercase
 {
 	NSString *string = @"#ffff0000";
 	NSColor *transparentYellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
-	STAssertEquals([transparentYellow alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent yellow should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentYellowUppercase
 {
 	NSString *string = @"#FFFF0000";
 	NSColor *transparentYellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
-	STAssertEquals([transparentYellow alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent yellow should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentGreenLowercase
 {
 	NSString *string = @"#00ff0000";
 	NSColor *transparentGreen = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
-	STAssertEquals([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
+	XCTAssertEqual([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent green should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentGreenUppercase
 {
 	NSString *string = @"#00FF0000";
 	NSColor *transparentGreen = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
-	STAssertEquals([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
+	XCTAssertEqual([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent green should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentCyanLowercase
 {
 	NSString *string = @"#00ffff00";
 	NSColor *transparentCyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
-	STAssertEquals([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent cyan should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentCyanUppercase
 {
 	NSString *string = @"#00FFFF00";
 	NSColor *transparentCyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
-	STAssertEquals([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent cyan should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentBlueLowercase
 {
 	NSString *string = @"#0000ff00";
 	NSColor *transparentBlue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
-	STAssertEquals([transparentBlue alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
+	XCTAssertEqual([transparentBlue alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent blue should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentBlueUppercase
 {
 	NSString *string = @"#0000FF00";
 	NSColor *transparentBlue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
-	STAssertEquals([transparentBlue alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
+	XCTAssertEqual([transparentBlue alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent blue should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentMagentaLowercase
 {
 	NSString *string = @"#ff00ff00";
 	NSColor *transparentMagenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
-	STAssertEquals([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent magenta should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentMagentaUppercase
 {
 	NSString *string = @"#FF00FF00";
 	NSColor *transparentMagenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
-	STAssertEquals([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent magenta should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentWhiteLowercase
 {
 	NSString *string = @"#ffffff00";
 	NSColor *transparentWhite = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent white should be 0.0");
+	XCTAssertEqual([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent white should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentWhiteUppercase
 {
 	NSString *string = @"#FFFFFF00";
 	NSColor *transparentWhite = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent white should be 0.0");
+	XCTAssertEqual([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent white should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentBlackLowercase
 {
 	NSString *string = @"#00000000";
 	NSColor *transparentBlack = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent black should be 0.0");
 }
 - (void)testColorWith8DigitHTMLStringForTransparentBlackUppercase
 {
 	NSString *string = @"#00000000";
 	NSColor *transparentBlack = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent black should be 0.0");
 }
 
 - (void)testColorWith4DigitHTMLStringForTransparentRedLowercase
 {
 	NSString *string = @"#f000";
 	NSColor *transparentRed = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
-	STAssertEquals([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
-	STAssertEquals([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
-	STAssertEquals([transparentRed alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
+	XCTAssertEqual([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent red should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentRedUppercase
 {
 	NSString *string = @"#F000";
 	NSColor *transparentRed = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
-	STAssertEquals([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
-	STAssertEquals([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
-	STAssertEquals([transparentRed alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed   redComponent], (CGFloat)1.0f,   @"Red component of transparent red should be 1.0");
+	XCTAssertEqual([transparentRed greenComponent], (CGFloat)0.0f, @"Green component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent red should be 0.0");
+	XCTAssertEqual([transparentRed alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent red should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentYellowLowercase
 {
 	NSString *string = @"#ff00";
 	NSColor *transparentYellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
-	STAssertEquals([transparentYellow alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent yellow should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentYellowUppercase
 {
 	NSString *string = @"#FF00";
 	NSColor *transparentYellow = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
-	STAssertEquals([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
-	STAssertEquals([transparentYellow alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow   redComponent], (CGFloat)1.0f,   @"Red component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow greenComponent], (CGFloat)1.0f, @"Green component of transparent yellow should be 1.0");
+	XCTAssertEqual([transparentYellow  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent yellow should be 0.0");
+	XCTAssertEqual([transparentYellow alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent yellow should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentGreenLowercase
 {
 	NSString *string = @"#0f00";
 	NSColor *transparentGreen = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
-	STAssertEquals([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
+	XCTAssertEqual([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent green should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentGreenUppercase
 {
 	NSString *string = @"#0F00";
 	NSColor *transparentGreen = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
-	STAssertEquals([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
-	STAssertEquals([transparentGreen alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen   redComponent], (CGFloat)0.0f,   @"Red component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen greenComponent], (CGFloat)1.0f, @"Green component of transparent green should be 1.0");
+	XCTAssertEqual([transparentGreen  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent green should be 0.0");
+	XCTAssertEqual([transparentGreen alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent green should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentCyanLowercase
 {
 	NSString *string = @"#0ff0";
 	NSColor *transparentCyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
-	STAssertEquals([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent cyan should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentCyanUppercase
 {
 	NSString *string = @"#0FF0";
 	NSColor *transparentCyan = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
-	STAssertEquals([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
-	STAssertEquals([transparentCyan alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan   redComponent], (CGFloat)0.0f,   @"Red component of transparent cyan should be 0.0");
+	XCTAssertEqual([transparentCyan greenComponent], (CGFloat)1.0f, @"Green component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent cyan should be 1.0");
+	XCTAssertEqual([transparentCyan alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent cyan should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentBlueLowercase
 {
 	NSString *string = @"#00f0";
 	NSColor *transparentBlue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
-	STAssertEquals([transparentBlue alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
+	XCTAssertEqual([transparentBlue alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent blue should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentBlueUppercase
 {
 	NSString *string = @"#00F0";
 	NSColor *transparentBlue = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
-	STAssertEquals([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
-	STAssertEquals([transparentBlue alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue   redComponent], (CGFloat)0.0f,   @"Red component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue greenComponent], (CGFloat)0.0f, @"Green component of transparent blue should be 0.0");
+	XCTAssertEqual([transparentBlue  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent blue should be 1.0");
+	XCTAssertEqual([transparentBlue alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent blue should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentMagentaLowercase
 {
 	NSString *string = @"#f0f0";
 	NSColor *transparentMagenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
-	STAssertEquals([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent magenta should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentMagentaUppercase
 {
 	NSString *string = @"#F0F0";
 	NSColor *transparentMagenta = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
-	STAssertEquals([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
-	STAssertEquals([transparentMagenta alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta   redComponent], (CGFloat)1.0f,   @"Red component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta greenComponent], (CGFloat)0.0f, @"Green component of transparent magenta should be 0.0");
+	XCTAssertEqual([transparentMagenta  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent magenta should be 1.0");
+	XCTAssertEqual([transparentMagenta alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent magenta should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentWhiteLowercase
 {
 	NSString *string = @"#fff0";
 	NSColor *transparentWhite = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent white should be 0.0");
+	XCTAssertEqual([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent white should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentWhiteUppercase
 {
 	NSString *string = @"#FFF0";
 	NSColor *transparentWhite = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
-	STAssertEquals([transparentWhite alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent white should be 0.0");
+	XCTAssertEqual([transparentWhite   redComponent], (CGFloat)1.0f,   @"Red component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite greenComponent], (CGFloat)1.0f, @"Green component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite  blueComponent], (CGFloat)1.0f,  @"Blue component of transparent white should be 1.0");
+	XCTAssertEqual([transparentWhite alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent white should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentBlackLowercase
 {
 	NSString *string = @"#0000";
 	NSColor *transparentBlack = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent black should be 0.0");
 }
 - (void)testColorWith4DigitHTMLStringForTransparentBlackUppercase
 {
 	NSString *string = @"#0000";
 	NSColor *transparentBlack = [NSColor colorWithHTMLString:string];
-	STAssertEquals([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
-	STAssertEquals([transparentBlack alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack   redComponent], (CGFloat)0.0f,   @"Red component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack greenComponent], (CGFloat)0.0f, @"Green component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack  blueComponent], (CGFloat)0.0f,  @"Blue component of transparent black should be 0.0");
+	XCTAssertEqual([transparentBlack alphaComponent], (CGFloat)0.0f, @"Alpha component of transparent black should be 0.0");
 }
 
 //End of automatically-generated methods
@@ -1787,10 +1787,10 @@
 {
 	NSString *string = @"rgba(255, 255, 0, 0.75)";
 	NSColor *color = [NSColor colorWithHTMLString:string];
-	STAssertEquals([color redComponent], (CGFloat)1.0f, @"Red component of color should be 1.0");
-	STAssertEquals([color greenComponent], (CGFloat)1.0f, @"Green component of color should be 1.0");
-	STAssertEquals([color blueComponent], (CGFloat)0.0f, @"Blue component of color should be 0.0");
-	STAssertEquals([color alphaComponent], (CGFloat)0.75f, @"Alpha component of color should be 0.75");
+	XCTAssertEqual([color redComponent], (CGFloat)1.0f, @"Red component of color should be 1.0");
+	XCTAssertEqual([color greenComponent], (CGFloat)1.0f, @"Green component of color should be 1.0");
+	XCTAssertEqual([color blueComponent], (CGFloat)0.0f, @"Blue component of color should be 0.0");
+	XCTAssertEqual([color alphaComponent], (CGFloat)0.75f, @"Alpha component of color should be 0.75");
 }
 
 #pragma mark -
@@ -1798,17 +1798,17 @@
 - (void)testColorWithHTMLStringWithNil
 {
 	NSColor *noColor = [NSColor colorWithHTMLString:nil];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color from HTML string nil should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color from HTML string nil should be nil");
 }
 - (void)testColorWithHTMLStringWithEmptyString;
 {
 	NSColor *noColor = [NSColor colorWithHTMLString:@""];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color from the empty string should be nil");
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color from the empty string should be nil");
 }
 - (void)testColorWithHTMLStringWithInvalidColor
 {
 	NSColor *noColor = [NSColor colorWithHTMLString:TEST_STRING_3];
-	STAssertEquals(noColor, (NSColor *)nil, @"Color from invalid string '%@' should be nil", TEST_STRING_3);
+	XCTAssertEqual(noColor, (NSColor *)nil, @"Color from invalid string '%@' should be nil", TEST_STRING_3);
 }
 
 #pragma mark -
@@ -1817,18 +1817,18 @@
 {
 	NSColor *red = [NSColor redColor];
 	NSColor *color = [NSColor colorWithHTMLString:nil defaultColor:red];
-	STAssertEquals(color, red, @"colorWithHTMLString:defaultColor:, when passed nil and redColor, should return redColor");
+	XCTAssertEqual(color, red, @"colorWithHTMLString:defaultColor:, when passed nil and redColor, should return redColor");
 }
 - (void)testColorWithHTMLStringWithNilWithDefaultColorGreen;
 {
 	NSColor *green = [NSColor greenColor];
 	NSColor *color = [NSColor colorWithHTMLString:nil defaultColor:green];
-	STAssertEquals(color, green, @"colorWithHTMLString:defaultColor:, when passed nil and greenColor, should return greenColor");
+	XCTAssertEqual(color, green, @"colorWithHTMLString:defaultColor:, when passed nil and greenColor, should return greenColor");
 }
 - (void)testColorWithHTMLStringWithNilWithDefaultColorNil;
 {
 	NSColor *color = [NSColor colorWithHTMLString:nil defaultColor:nil];
-	STAssertEquals(color, (NSColor *)nil, @"colorWithHTMLString:defaultColor:, when passed nil (string) and nil (default color), should return nil (default color)");
+	XCTAssertEqual(color, (NSColor *)nil, @"colorWithHTMLString:defaultColor:, when passed nil (string) and nil (default color), should return nil (default color)");
 }
 
 #pragma mark -
@@ -1837,18 +1837,18 @@
 {
 	NSColor *red = [NSColor redColor];
 	NSColor *color = [NSColor colorWithHTMLString:@"" defaultColor:red];
-	STAssertEquals(color, red, @"colorWithHTMLString:defaultColor:, when passed the empty string and redColor, should return redColor");
+	XCTAssertEqual(color, red, @"colorWithHTMLString:defaultColor:, when passed the empty string and redColor, should return redColor");
 }
 - (void)testColorWithHTMLStringWithEmptyStringWithDefaultColorGreen;
 {
 	NSColor *green = [NSColor greenColor];
 	NSColor *color = [NSColor colorWithHTMLString:@"" defaultColor:green];
-	STAssertEquals(color, green, @"colorWithHTMLString:defaultColor:, when passed the empty string and greenColor, should return greenColor");
+	XCTAssertEqual(color, green, @"colorWithHTMLString:defaultColor:, when passed the empty string and greenColor, should return greenColor");
 }
 - (void)testColorWithHTMLStringWithEmptyStringWithDefaultColorNil;
 {
 	NSColor *color = [NSColor colorWithHTMLString:@"" defaultColor:nil];
-	STAssertEquals(color, (NSColor *)nil, @"colorWithHTMLString:defaultColor:, when passed the empty string and nil, should return nil");
+	XCTAssertEqual(color, (NSColor *)nil, @"colorWithHTMLString:defaultColor:, when passed the empty string and nil, should return nil");
 }
 
 #pragma mark -
@@ -1857,19 +1857,19 @@
 {
 	NSColor *red = [NSColor redColor];
 	NSColor *color = [NSColor colorWithHTMLString:TEST_STRING_4 defaultColor:red];
-	STAssertEquals(color, red, @"colorWithHTMLString:defaultColor:, when passed an invalid string and redColor, should return redColor");
+	XCTAssertEqual(color, red, @"colorWithHTMLString:defaultColor:, when passed an invalid string and redColor, should return redColor");
 }
 - (void)testColorWithHTMLStringWithInvalidColorWithDefaultColorGreen
 {
 	NSColor *green = [NSColor greenColor];
 	NSColor *color = [NSColor colorWithHTMLString:TEST_STRING_5 defaultColor:green];
-	STAssertEquals(color, green, @"colorWithHTMLString:defaultColor:, when passed an invalid string and greenColor, should return greenColor");
+	XCTAssertEqual(color, green, @"colorWithHTMLString:defaultColor:, when passed an invalid string and greenColor, should return greenColor");
 }
 - (void)testColorWithHTMLStringWithInvalidColorWithDefaultColorNil
 {
 	NSColor *blue = [NSColor blueColor];
 	NSColor *color = [NSColor colorWithHTMLString:TEST_STRING_6 defaultColor:blue];
-	STAssertEquals(color, blue, @"colorWithHTMLString:defaultColor:, when passed an invalid string and blueColor, should return blueColor");
+	XCTAssertEqual(color, blue, @"colorWithHTMLString:defaultColor:, when passed an invalid string and blueColor, should return blueColor");
 }
 
 @end
--- a/UnitTests/TestDataAdditions.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestDataAdditions.h	Mon Dec 14 00:37:29 2015 -0800
@@ -14,9 +14,9 @@
  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 #import <Foundation/Foundation.h>
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
-@interface TestDataAdditions: SenTestCase
+@interface TestDataAdditions: XCTestCase
 {}
 
 - (void)testSubdataFromIndex;
--- a/UnitTests/TestDataAdditions.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestDataAdditions.m	Mon Dec 14 00:37:29 2015 -0800
@@ -35,25 +35,25 @@
 	NSData *data = [NSData dataWithBytesNoCopy:bytesForSubdataTests length:lengthForSubdataTests freeWhenDone:NO];
 
 	NSData *subdata = [data subdataFromIndex:fromIndexForSubdataTests];
-	STAssertEquals([subdata length], (NSUInteger)subdataLengthForSubdataTests, @"Subdata was not of expected length");
+	XCTAssertEqual([subdata length], (NSUInteger)subdataLengthForSubdataTests, @"Subdata was not of expected length");
 
 	const char *bytes = [subdata bytes];
-	//Cast explanation: Character literals are of type int. STAssertEquals also checks that the two sides are of the same type, and const char is not int, so the assertion fails unless we cast the literals to const char.
-	STAssertEquals(bytes[0], (const char)'b', @"Unexpected first byte of subdata: 0x%x %c", bytes[0], bytes[0]);
-	STAssertEquals(bytes[1], (const char)'a', @"Unexpected second byte of subdata: 0x%x %c", bytes[1], bytes[1]);
-	STAssertEquals(bytes[2], (const char)'r', @"Unexpected third byte of subdata: 0x%x %c", bytes[2], bytes[2]);
+	//Cast explanation: Character literals are of type int. XCTAssertEquals also checks that the two sides are of the same type, and const char is not int, so the assertion fails unless we cast the literals to const char.
+	XCTAssertEqual(bytes[0], (const char)'b', @"Unexpected first byte of subdata: 0x%x %c", bytes[0], bytes[0]);
+	XCTAssertEqual(bytes[1], (const char)'a', @"Unexpected second byte of subdata: 0x%x %c", bytes[1], bytes[1]);
+	XCTAssertEqual(bytes[2], (const char)'r', @"Unexpected third byte of subdata: 0x%x %c", bytes[2], bytes[2]);
 }
 - (void)testSubdataToIndex {
 	NSData *data = [NSData dataWithBytesNoCopy:bytesForSubdataTests length:lengthForSubdataTests freeWhenDone:NO];
 
 	NSData *subdata = [data subdataToIndex:toIndexForSubdataTests];
-	STAssertEquals([subdata length], (NSUInteger)subdataLengthForSubdataTests, @"Subdata was not of expected length");
+	XCTAssertEqual([subdata length], (NSUInteger)subdataLengthForSubdataTests, @"Subdata was not of expected length");
 
 	const char *bytes = [subdata bytes];
-	//Cast explanation: Character literals are of type int. STAssertEquals also checks that the two sides are of the same type, and const char is not int, so the assertion fails unless we cast the literals to const char.
-	STAssertEquals(bytes[0], (const char)'f', @"Unexpected first byte of subdata: 0x%x %c", bytes[0], bytes[0]);
-	STAssertEquals(bytes[1], (const char)'o', @"Unexpected second byte of subdata: 0x%x %c", bytes[1], bytes[1]);
-	STAssertEquals(bytes[2], (const char)'o', @"Unexpected third byte of subdata: 0x%x %c", bytes[2], bytes[2]);
+	//Cast explanation: Character literals are of type int. XCTAssertEquals also checks that the two sides are of the same type, and const char is not int, so the assertion fails unless we cast the literals to const char.
+	XCTAssertEqual(bytes[0], (const char)'f', @"Unexpected first byte of subdata: 0x%x %c", bytes[0], bytes[0]);
+	XCTAssertEqual(bytes[1], (const char)'o', @"Unexpected second byte of subdata: 0x%x %c", bytes[1], bytes[1]);
+	XCTAssertEqual(bytes[2], (const char)'o', @"Unexpected third byte of subdata: 0x%x %c", bytes[2], bytes[2]);
 }
 
 @end
--- a/UnitTests/TestDateAdditions.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestDateAdditions.h	Mon Dec 14 00:37:29 2015 -0800
@@ -14,9 +14,9 @@
  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 #import <Foundation/Foundation.h>
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
-@interface TestDateAdditions : SenTestCase
+@interface TestDateAdditions : XCTestCase
 {}
 
 - (void)testConvertIntervalToWeeks;
--- a/UnitTests/TestDateAdditions.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestDateAdditions.m	Mon Dec 14 00:37:29 2015 -0800
@@ -30,7 +30,7 @@
 	NSDate *now = TEST_DATE;
 	NSDate *then;
 
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 	NSDateComponents *components;
@@ -39,7 +39,7 @@
 	NSTimeInterval seconds;
 
 	//Test exactly one week ago.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -7;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -48,11 +48,11 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)1, @"Expected the difference between now and 7 days ago, which is %f seconds, to be 1 week; result was %iw, %id, %ih, %im, %fs", [now timeIntervalSinceDate:then], weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)0, @"Expected the difference between now and 7 days ago to be 1 week, 0 days; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 7 days ago to be 1 week, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 7 days ago to be 1 week, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 7 days ago to be 1 week, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)1, @"Expected the difference between now and 7 days ago, which is %f seconds, to be 1 week; result was %iw, %id, %ih, %im, %fs", [now timeIntervalSinceDate:then], weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)0, @"Expected the difference between now and 7 days ago to be 1 week, 0 days; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 7 days ago to be 1 week, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 7 days ago to be 1 week, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 7 days ago to be 1 week, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 
 	//Test eight days ago. [Insert obligatory Beatles reference]
 	components.day = -8;
@@ -63,14 +63,14 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)1, @"Expected the difference between now and 8 days ago to be 1 week, 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)1, @"Expected the difference between now and 8 days ago to be 1 week, 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 8 days ago to be 1 week, 1 day, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 8 days ago to be 1 week, 1 day, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 8 days ago to be 1 week, 1 day, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)1, @"Expected the difference between now and 8 days ago to be 1 week, 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)1, @"Expected the difference between now and 8 days ago to be 1 week, 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 8 days ago to be 1 week, 1 day, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 8 days ago to be 1 week, 1 day, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 8 days ago to be 1 week, 1 day, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 
 	//Test six days (almost, but not quite, one week) ago. [Insert obligatory DJ Shadow reference]
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -6;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -79,18 +79,18 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 6 days ago to be 0 weeks, 6 days; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)6, @"Expected the difference between now and 6 days ago to be 6 days; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 6 days ago to be 6 days, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 6 days ago to be 6 days, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 6 days ago to be 6 days, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 6 days ago to be 0 weeks, 6 days; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)6, @"Expected the difference between now and 6 days ago to be 6 days; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 6 days ago to be 6 days, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 6 days ago to be 6 days, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 6 days ago to be 6 days, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 }
 - (void)testConvertIntervalToDays
 {
 	NSDate *now = TEST_DATE;
 	NSDate *then;
 
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 	NSDateComponents *components;
@@ -99,7 +99,7 @@
 	NSTimeInterval seconds;
 
 	//Test one day ago.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -1;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -108,14 +108,14 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 0 weeks, 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)1, @"Expected the difference between now and 1 day ago to be 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 1 day, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 1 day, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 1 day ago to be 1 day, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 0 weeks, 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)1, @"Expected the difference between now and 1 day ago to be 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 1 day, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 1 day, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 1 day ago to be 1 day, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 
 	//Test one day ago, expressed as hours.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -24;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -124,14 +124,14 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 0 weeks, 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)1, @"Expected the difference between now and 1 day ago to be 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 1 day, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 1 day, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 1 day ago to be 1 day, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 0 weeks, 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)1, @"Expected the difference between now and 1 day ago to be 1 day; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 1 day, 0 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 1 day ago to be 1 day, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 1 day ago to be 1 day, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 	
 	//Test 23 hours (almost, but not quite, one day) ago.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -23;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -140,18 +140,18 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 23 hours ago to be 0 weeks, 23 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)0, @"Expected the difference between now and 23 hours ago to be 0 days, 23 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)23, @"Expected the difference between now and 23 hours ago to be 23 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 23 hours ago to be 23 hours, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 23 hours ago to be 23 hours, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 23 hours ago to be 0 weeks, 23 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)0, @"Expected the difference between now and 23 hours ago to be 0 days, 23 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)23, @"Expected the difference between now and 23 hours ago to be 23 hours; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 23 hours ago to be 23 hours, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 23 hours ago to be 23 hours, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 }
 - (void)testConvertIntervalToHours
 {
 	NSDate *now = TEST_DATE;
 	NSDate *then;
 
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 	NSDateComponents *components;
@@ -160,7 +160,7 @@
 	NSTimeInterval seconds;
 
 	//Test one hour ago.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -1;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -169,14 +169,14 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 0 weeks, 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 0 days, 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)1, @"Expected the difference between now and 1 hour ago to be 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 1 hour, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 1 hour ago to be 1 hour, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 0 weeks, 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 0 days, 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)1, @"Expected the difference between now and 1 hour ago to be 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 1 hour, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 1 hour ago to be 1 hour, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 
 	//Test one hour ago, expressed as minutes.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.minute = -60;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -185,14 +185,14 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 0 weeks, 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 0 days, 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)1, @"Expected the difference between now and 1 hour ago to be 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 1 hour, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 1 hour ago to be 1 hour, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 0 weeks, 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 0 days, 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)1, @"Expected the difference between now and 1 hour ago to be 1 hour; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 1 hour ago to be 1 hour, 0 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 1 hour ago to be 1 hour, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 
 	//Test 59 minutes (almost, but not quite, one hour) ago.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.minute = -59;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -201,18 +201,18 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 59 minutes ago to be 0 weeks, 59 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)0, @"Expected the difference between now and 59 minutes ago to be 0 days, 59 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 59 minutes ago to be 0 hours, 59 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)59, @"Expected the difference between now and 59 minutes ago to be 59 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 59 minutes ago to be 59 minutes, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 59 minutes ago to be 0 weeks, 59 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)0, @"Expected the difference between now and 59 minutes ago to be 0 days, 59 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 59 minutes ago to be 0 hours, 59 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)59, @"Expected the difference between now and 59 minutes ago to be 59 minutes; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 59 minutes ago to be 59 minutes, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 }
 - (void)testConvertIntervalToMinutes
 {
 	NSDate *now = TEST_DATE;
 	NSDate *then;
 
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 	NSDateComponents *components;
@@ -221,7 +221,7 @@
 	NSTimeInterval seconds;
 
 	//Test one minute ago.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.minute = -1;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -230,14 +230,14 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 1 minute ago to be 0 weeks, 1 minute; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)0, @"Expected the difference between now and 1 minute ago to be 0 days, 1 minute; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 1 minute ago to be 0 hours, 1 minute; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)1, @"Expected the difference between now and 1 minute ago to be 1 minute; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 0.0, @"Expected the difference between now and 1 minute ago to be 1 minute, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 1 minute ago to be 0 weeks, 1 minute; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)0, @"Expected the difference between now and 1 minute ago to be 0 days, 1 minute; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 1 minute ago to be 0 hours, 1 minute; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)1, @"Expected the difference between now and 1 minute ago to be 1 minute; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 0.0, @"Expected the difference between now and 1 minute ago to be 1 minute, 0 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 
 	//Test 59 seconds (almost, but not quite, one minute) ago.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.second = -59;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -246,18 +246,18 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 59 seconds ago to be 0 weeks, 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)0, @"Expected the difference between now and 59 seconds ago to be 0 days, 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 59 seconds ago to be 0 hours, 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 59 seconds ago to be 0 minutes, 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 59.0, @"Expected the difference between now and 59 seconds ago to be 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 59 seconds ago to be 0 weeks, 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)0, @"Expected the difference between now and 59 seconds ago to be 0 days, 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 59 seconds ago to be 0 hours, 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 59 seconds ago to be 0 minutes, 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 59.0, @"Expected the difference between now and 59 seconds ago to be 59 seconds; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 }
 - (void)testConvertIntervalToSeconds
 {
 	NSDate *now = TEST_DATE;
 	NSDate *then;
 
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 	NSDateComponents *components;
@@ -266,7 +266,7 @@
 	NSTimeInterval seconds;
 
 	//Test one second ago.
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.second = -1;
 	then = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
 	[NSDate convertTimeInterval:[now timeIntervalSinceDate:then]
@@ -275,11 +275,11 @@
 						  hours:&hours
 						minutes:&minutes
 						seconds:&seconds];
-	STAssertEquals(weeks, (NSInteger)0, @"Expected the difference between now and 1 second ago to be 0 weeks, 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals( days, (NSInteger)0, @"Expected the difference between now and 1 second ago to be 0 days, 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(hours, (NSInteger)0, @"Expected the difference between now and 1 second ago to be 0 hours, 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(minutes, (NSInteger)0, @"Expected the difference between now and 1 second ago to be 0 minutes, 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
-	STAssertEquals(seconds, 1.0, @"Expected the difference between now and 1 second ago to be 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(weeks, (NSInteger)0, @"Expected the difference between now and 1 second ago to be 0 weeks, 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual( days, (NSInteger)0, @"Expected the difference between now and 1 second ago to be 0 days, 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(hours, (NSInteger)0, @"Expected the difference between now and 1 second ago to be 0 hours, 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(minutes, (NSInteger)0, @"Expected the difference between now and 1 second ago to be 0 minutes, 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
+	XCTAssertEqual(seconds, 1.0, @"Expected the difference between now and 1 second ago to be 1 second; result was %iw, %id, %ih, %im, %fs", weeks, days, hours, minutes, seconds);
 }
 
 @end
--- a/UnitTests/TestDateFormatterStringRepWithInterval.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestDateFormatterStringRepWithInterval.h	Mon Dec 14 00:37:29 2015 -0800
@@ -14,9 +14,9 @@
  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 #import <Foundation/Foundation.h>
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
-@interface TestDateFormatterStringRepWithInterval: SenTestCase
+@interface TestDateFormatterStringRepWithInterval: XCTestCase
 {}
 
 - (void)testDateFormatterStringRepWithInterval_seconds;
--- a/UnitTests/TestDateFormatterStringRepWithInterval.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestDateFormatterStringRepWithInterval.m	Mon Dec 14 00:37:29 2015 -0800
@@ -24,12 +24,12 @@
 //Note: All of these delta values that we pass to -[NSCalendar dateByAddingComponents:toDate:options:] need to be NEGATIVE, because we're looking to get a string representation of the interval since some time in the past.
 - (void)testDateFormatterStringRepWithInterval_seconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.second = -10;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -37,12 +37,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_minutes {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.minute = -10;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -50,12 +50,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_minutesSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.minute = -10;
 	components.second = -10;
 
@@ -64,12 +64,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_hours {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -10;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -77,12 +77,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_hoursSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -10;
 	components.second = -10;
 
@@ -91,12 +91,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_hoursMinutes {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -10;
 	components.minute = -10;
 
@@ -105,12 +105,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_hoursMinutesSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -10;
 	components.minute = -10;
 	components.second = -10;
@@ -120,12 +120,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_days {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -133,12 +133,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.second = -10;
 
@@ -147,12 +147,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysMinutes {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.minute = -10;
 
@@ -161,12 +161,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysMinutesSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.minute = -10;
 	components.second = -10;
@@ -176,12 +176,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysHours {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.hour = -10;
 
@@ -190,12 +190,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysHoursSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.hour = -10;
 	components.second = -10;
@@ -205,12 +205,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysHoursMinutes {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.hour = -10;
 	components.minute = -10;
@@ -220,12 +220,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysHoursMinutesSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.hour = -10;
 	components.minute = -10;
@@ -236,12 +236,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeks {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 
 	//This delay will reveal whether the method under test is incorrectly testing for seconds. (This was a real intermittent failure.)
@@ -252,12 +252,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.second = -10;
 
@@ -266,12 +266,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksMinutes {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.minute = -10;
 
@@ -280,12 +280,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksMinutesSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.minute = -10;
 	components.second = -10;
@@ -295,12 +295,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksHours {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.hour = -10;
 
@@ -309,12 +309,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksHoursSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.hour = -10;
 	components.second = -10;
@@ -324,12 +324,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksHoursMinutes {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.hour = -10;
 	components.minute = -10;
@@ -339,12 +339,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksHoursMinutesSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.hour = -10;
 	components.minute = -10;
@@ -355,12 +355,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDays {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 
@@ -369,12 +369,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.second = -10;
@@ -384,12 +384,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysMinutes {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.minute = -10;
@@ -399,12 +399,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysMinutesSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.minute = -10;
@@ -415,12 +415,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysHours {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.hour = -10;
@@ -430,12 +430,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysHoursSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.hour = -10;
@@ -446,12 +446,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysHoursMinutes {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.hour = -10;
@@ -462,12 +462,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysHoursMinutesSeconds {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.hour = -10;
@@ -480,12 +480,12 @@
 
 - (void)testDateFormatterStringRepWithInterval_seconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.second = -10;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -493,12 +493,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_minutes_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.minute = -10;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -506,12 +506,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_minutesSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.minute = -10;
 	components.second = -10;
 
@@ -520,12 +520,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_hours_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -10;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -533,12 +533,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_hoursSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -10;
 	components.second = -10;
 
@@ -547,12 +547,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_hoursMinutes_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -10;
 	components.minute = -10;
 
@@ -561,12 +561,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_hoursMinutesSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.hour = -10;
 	components.minute = -10;
 	components.second = -10;
@@ -576,12 +576,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_days_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -589,12 +589,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.second = -10;
 
@@ -603,12 +603,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysMinutes_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.minute = -10;
 
@@ -617,12 +617,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysMinutesSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.minute = -10;
 	components.second = -10;
@@ -632,12 +632,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysHours_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.hour = -10;
 
@@ -646,12 +646,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysHoursSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.hour = -10;
 	components.second = -10;
@@ -661,12 +661,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysHoursMinutes_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.hour = -10;
 	components.minute = -10;
@@ -676,12 +676,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_daysHoursMinutesSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.day = -5;
 	components.hour = -10;
 	components.minute = -10;
@@ -692,12 +692,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeks_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 
 	NSDate *date = [gregorianCalendar dateByAddingComponents:components toDate:now options:0UL];
@@ -705,12 +705,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.second = -10;
 
@@ -719,12 +719,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksMinutes_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.minute = -10;
 
@@ -733,12 +733,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksMinutesSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.minute = -10;
 	components.second = -10;
@@ -748,12 +748,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksHours_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.hour = -10;
 
@@ -762,12 +762,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksHoursSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.hour = -10;
 	components.second = -10;
@@ -777,12 +777,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksHoursMinutes_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.hour = -10;
 	components.minute = -10;
@@ -792,12 +792,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksHoursMinutesSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.hour = -10;
 	components.minute = -10;
@@ -808,12 +808,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDays_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 
@@ -822,12 +822,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.second = -10;
@@ -837,12 +837,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysMinutes_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.minute = -10;
@@ -852,12 +852,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysMinutesSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.minute = -10;
@@ -868,12 +868,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysHours_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.hour = -10;
@@ -883,12 +883,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysHoursSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.hour = -10;
@@ -899,12 +899,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysHoursMinutes_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.hour = -10;
@@ -915,12 +915,12 @@
 }
 - (void)testDateFormatterStringRepWithInterval_weeksDaysHoursMinutesSeconds_abbreviated {
 	NSDate *now = [NSDate date];
-	NSCalendar *gregorianCalendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
+	NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 	NSTimeZone *tz = TEST_TIME_ZONE;
 	gregorianCalendar.timeZone = tz;
 
 	NSDateComponents *components;
-	components = [[[NSDateComponents alloc] init] autorelease];
+	components = [[NSDateComponents alloc] init];
 	components.week = -65;
 	components.day = -5;
 	components.hour = -10;
--- a/UnitTests/TestDictionaryAdditions.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestDictionaryAdditions.h	Mon Dec 14 00:37:29 2015 -0800
@@ -14,9 +14,9 @@
  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 #import <Foundation/Foundation.h>
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
-@interface TestDictionaryAdditions: SenTestCase
+@interface TestDictionaryAdditions: XCTestCase
 {}
 
 - (void)testTranslateAddRemove_translate;
--- a/UnitTests/TestDictionaryAdditions.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestDictionaryAdditions.m	Mon Dec 14 00:37:29 2015 -0800
@@ -58,9 +58,9 @@
 				add:nil
 			 remove:nil];
 
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Foo"]], @"translate:add:remove: method failed to translate %@ to %@", @"Foo", [translation objectForKey:@"Foo"]);
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Bar"]], @"translate:add:remove: method failed to translate %@ to %@", @"Bar", [translation objectForKey:@"Bar"]);
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Baz"]], @"translate:add:remove: method failed to translate %@ to %@", @"Baz", [translation objectForKey:@"Baz"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Foo"]], @"translate:add:remove: method failed to translate %@ to %@", @"Foo", [translation objectForKey:@"Foo"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Bar"]], @"translate:add:remove: method failed to translate %@ to %@", @"Bar", [translation objectForKey:@"Bar"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Baz"]], @"translate:add:remove: method failed to translate %@ to %@", @"Baz", [translation objectForKey:@"Baz"]);
 }
 
 - (void)testTranslateAddRemove_add {
@@ -70,12 +70,12 @@
 				add:[self addition]
 			 remove:nil];
 
-	STAssertNotNil([dict objectForKey:@"Foo"],   @"translate:add:remove: method failed to keep %@", @"Foo");
-	STAssertNotNil([dict objectForKey:@"Bar"],   @"translate:add:remove: method failed to keep %@", @"Bar");
-	STAssertNotNil([dict objectForKey:@"Baz"],   @"translate:add:remove: method failed to keep %@", @"Baz");
-	STAssertNotNil([dict objectForKey:@"Qux"],   @"translate:add:remove: method failed to add %@", @"Qux");
-	STAssertNotNil([dict objectForKey:@"Quux"],  @"translate:add:remove: method failed to add %@", @"Quux");
-	STAssertNotNil([dict objectForKey:@"Quuux"], @"translate:add:remove: method failed to add %@", @"Quuux");
+	XCTAssertNotNil([dict objectForKey:@"Foo"],   @"translate:add:remove: method failed to keep %@", @"Foo");
+	XCTAssertNotNil([dict objectForKey:@"Bar"],   @"translate:add:remove: method failed to keep %@", @"Bar");
+	XCTAssertNotNil([dict objectForKey:@"Baz"],   @"translate:add:remove: method failed to keep %@", @"Baz");
+	XCTAssertNotNil([dict objectForKey:@"Qux"],   @"translate:add:remove: method failed to add %@", @"Qux");
+	XCTAssertNotNil([dict objectForKey:@"Quux"],  @"translate:add:remove: method failed to add %@", @"Quux");
+	XCTAssertNotNil([dict objectForKey:@"Quuux"], @"translate:add:remove: method failed to add %@", @"Quuux");
 }
 
 - (void)testTranslateAddRemove_remove {
@@ -85,9 +85,9 @@
 				add:nil
 			 remove:[self deletia]];
 
-	STAssertNil([dict objectForKey:@"Foo"], @"translate:add:remove: method failed to remove %@", @"Foo");
-	STAssertNil([dict objectForKey:@"Bar"], @"translate:add:remove: method failed to remove %@", @"Bar");
-	STAssertNil([dict objectForKey:@"Baz"], @"translate:add:remove: method failed to remove %@", @"Baz");
+	XCTAssertNil([dict objectForKey:@"Foo"], @"translate:add:remove: method failed to remove %@", @"Foo");
+	XCTAssertNil([dict objectForKey:@"Bar"], @"translate:add:remove: method failed to remove %@", @"Bar");
+	XCTAssertNil([dict objectForKey:@"Baz"], @"translate:add:remove: method failed to remove %@", @"Baz");
 }
 
 #pragma mark -
@@ -100,16 +100,16 @@
 				add:[self addition]
 			 remove:nil];
 
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Foo"]], @"translate:add:remove: method failed to translate %@ to %@", @"Foo", [translation objectForKey:@"Foo"]);
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Bar"]], @"translate:add:remove: method failed to translate %@ to %@", @"Bar", [translation objectForKey:@"Bar"]);
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Baz"]], @"translate:add:remove: method failed to translate %@ to %@", @"Baz", [translation objectForKey:@"Baz"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Foo"]], @"translate:add:remove: method failed to translate %@ to %@", @"Foo", [translation objectForKey:@"Foo"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Bar"]], @"translate:add:remove: method failed to translate %@ to %@", @"Bar", [translation objectForKey:@"Bar"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Baz"]], @"translate:add:remove: method failed to translate %@ to %@", @"Baz", [translation objectForKey:@"Baz"]);
 
-	STAssertNotNil([dict objectForKey:@"Foo"],   @"translate:add:remove: method failed to keep %@", @"Foo");
-	STAssertNotNil([dict objectForKey:@"Bar"],   @"translate:add:remove: method failed to keep %@", @"Bar");
-	STAssertNotNil([dict objectForKey:@"Baz"],   @"translate:add:remove: method failed to keep %@", @"Baz");
-	STAssertNotNil([dict objectForKey:@"Qux"],   @"translate:add:remove: method failed to add %@", @"Qux");
-	STAssertNotNil([dict objectForKey:@"Quux"],  @"translate:add:remove: method failed to add %@", @"Quux");
-	STAssertNotNil([dict objectForKey:@"Quuux"], @"translate:add:remove: method failed to add %@", @"Quuux");
+	XCTAssertNotNil([dict objectForKey:@"Foo"],   @"translate:add:remove: method failed to keep %@", @"Foo");
+	XCTAssertNotNil([dict objectForKey:@"Bar"],   @"translate:add:remove: method failed to keep %@", @"Bar");
+	XCTAssertNotNil([dict objectForKey:@"Baz"],   @"translate:add:remove: method failed to keep %@", @"Baz");
+	XCTAssertNotNil([dict objectForKey:@"Qux"],   @"translate:add:remove: method failed to add %@", @"Qux");
+	XCTAssertNotNil([dict objectForKey:@"Quux"],  @"translate:add:remove: method failed to add %@", @"Quux");
+	XCTAssertNotNil([dict objectForKey:@"Quuux"], @"translate:add:remove: method failed to add %@", @"Quuux");
 }
 
 - (void)testTranslateAddRemove_translateRemove {
@@ -120,13 +120,13 @@
 				add:nil
 			 remove:[self deletia]];
 
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Foo"]], @"translate:add:remove: method failed to translate %@ to %@", @"Foo", [translation objectForKey:@"Foo"]);
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Bar"]], @"translate:add:remove: method failed to translate %@ to %@", @"Bar", [translation objectForKey:@"Bar"]);
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Baz"]], @"translate:add:remove: method failed to translate %@ to %@", @"Baz", [translation objectForKey:@"Baz"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Foo"]], @"translate:add:remove: method failed to translate %@ to %@", @"Foo", [translation objectForKey:@"Foo"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Bar"]], @"translate:add:remove: method failed to translate %@ to %@", @"Bar", [translation objectForKey:@"Bar"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Baz"]], @"translate:add:remove: method failed to translate %@ to %@", @"Baz", [translation objectForKey:@"Baz"]);
 
-	STAssertNil([dict objectForKey:@"Foo"], @"translate:add:remove: method failed to remove %@", @"Foo");
-	STAssertNil([dict objectForKey:@"Bar"], @"translate:add:remove: method failed to remove %@", @"Bar");
-	STAssertNil([dict objectForKey:@"Baz"], @"translate:add:remove: method failed to remove %@", @"Baz");
+	XCTAssertNil([dict objectForKey:@"Foo"], @"translate:add:remove: method failed to remove %@", @"Foo");
+	XCTAssertNil([dict objectForKey:@"Bar"], @"translate:add:remove: method failed to remove %@", @"Bar");
+	XCTAssertNil([dict objectForKey:@"Baz"], @"translate:add:remove: method failed to remove %@", @"Baz");
 }
 
 - (void)testTranslateAddRemove_addRemove {
@@ -136,13 +136,13 @@
 				add:[self addition]
 			 remove:[self deletia]];
 
-	STAssertNotNil([dict objectForKey:@"Qux"],   @"translate:add:remove: method failed to add %@", @"Qux");
-	STAssertNotNil([dict objectForKey:@"Quux"],  @"translate:add:remove: method failed to add %@", @"Quux");
-	STAssertNotNil([dict objectForKey:@"Quuux"], @"translate:add:remove: method failed to add %@", @"Quuux");
+	XCTAssertNotNil([dict objectForKey:@"Qux"],   @"translate:add:remove: method failed to add %@", @"Qux");
+	XCTAssertNotNil([dict objectForKey:@"Quux"],  @"translate:add:remove: method failed to add %@", @"Quux");
+	XCTAssertNotNil([dict objectForKey:@"Quuux"], @"translate:add:remove: method failed to add %@", @"Quuux");
 
-	STAssertNil([dict objectForKey:@"Foo"], @"translate:add:remove: method failed to remove %@", @"Foo");
-	STAssertNil([dict objectForKey:@"Bar"], @"translate:add:remove: method failed to remove %@", @"Bar");
-	STAssertNil([dict objectForKey:@"Baz"], @"translate:add:remove: method failed to remove %@", @"Baz");
+	XCTAssertNil([dict objectForKey:@"Foo"], @"translate:add:remove: method failed to remove %@", @"Foo");
+	XCTAssertNil([dict objectForKey:@"Bar"], @"translate:add:remove: method failed to remove %@", @"Bar");
+	XCTAssertNil([dict objectForKey:@"Baz"], @"translate:add:remove: method failed to remove %@", @"Baz");
 }
 
 #pragma mark -
@@ -155,17 +155,17 @@
 				add:[self addition]
 			 remove:[self deletia]];
 
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Foo"]], @"translate:add:remove: method failed to translate %@ to %@", @"Foo", [translation objectForKey:@"Foo"]);
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Bar"]], @"translate:add:remove: method failed to translate %@ to %@", @"Bar", [translation objectForKey:@"Bar"]);
-	STAssertNotNil([dict objectForKey:[translation objectForKey:@"Baz"]], @"translate:add:remove: method failed to translate %@ to %@", @"Baz", [translation objectForKey:@"Baz"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Foo"]], @"translate:add:remove: method failed to translate %@ to %@", @"Foo", [translation objectForKey:@"Foo"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Bar"]], @"translate:add:remove: method failed to translate %@ to %@", @"Bar", [translation objectForKey:@"Bar"]);
+	XCTAssertNotNil([dict objectForKey:[translation objectForKey:@"Baz"]], @"translate:add:remove: method failed to translate %@ to %@", @"Baz", [translation objectForKey:@"Baz"]);
 
-	STAssertNotNil([dict objectForKey:@"Qux"],   @"translate:add:remove: method failed to add %@", @"Qux");
-	STAssertNotNil([dict objectForKey:@"Quux"],  @"translate:add:remove: method failed to add %@", @"Quux");
-	STAssertNotNil([dict objectForKey:@"Quuux"], @"translate:add:remove: method failed to add %@", @"Quuux");
+	XCTAssertNotNil([dict objectForKey:@"Qux"],   @"translate:add:remove: method failed to add %@", @"Qux");
+	XCTAssertNotNil([dict objectForKey:@"Quux"],  @"translate:add:remove: method failed to add %@", @"Quux");
+	XCTAssertNotNil([dict objectForKey:@"Quuux"], @"translate:add:remove: method failed to add %@", @"Quuux");
 
-	STAssertNil([dict objectForKey:@"Foo"], @"translate:add:remove: method failed to remove %@", @"Foo");
-	STAssertNil([dict objectForKey:@"Bar"], @"translate:add:remove: method failed to remove %@", @"Bar");
-	STAssertNil([dict objectForKey:@"Baz"], @"translate:add:remove: method failed to remove %@", @"Baz");
+	XCTAssertNil([dict objectForKey:@"Foo"], @"translate:add:remove: method failed to remove %@", @"Foo");
+	XCTAssertNil([dict objectForKey:@"Bar"], @"translate:add:remove: method failed to remove %@", @"Bar");
+	XCTAssertNil([dict objectForKey:@"Baz"], @"translate:add:remove: method failed to remove %@", @"Baz");
 }
 
 @end
--- a/UnitTests/TestMutableStringAdditions.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestMutableStringAdditions.h	Mon Dec 14 00:37:29 2015 -0800
@@ -14,9 +14,9 @@
  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 #import <Foundation/Foundation.h>
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
-@interface TestMutableStringAdditions: SenTestCase
+@interface TestMutableStringAdditions: XCTestCase
 {}
 
 - (void)testReplaceOccurrencesOfString_withString_options;
--- a/UnitTests/TestRichTextCoercion.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestRichTextCoercion.h	Mon Dec 14 00:37:29 2015 -0800
@@ -15,7 +15,7 @@
  */
 //All test-case methods here use NSScriptCoercionHandler, which should delegate to AIRichTextCoercer.
 
-@interface TestRichTextCoercion : SenTestCase
+@interface TestRichTextCoercion : XCTestCase
 {}
 
 /*
--- a/UnitTests/TestRichTextCoercion.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestRichTextCoercion.m	Mon Dec 14 00:37:29 2015 -0800
@@ -44,11 +44,11 @@
 		NSTask *sdp = [NSTask launchedTaskWithLaunchPath:@"/usr/bin/sdp"
 											   arguments:args];
 		[sdp waitUntilExit];
-		STAssertEquals([sdp terminationStatus], 0, @"sdp didn't exited with status 0");
+		XCTAssertEqual([sdp terminationStatus], 0, @"sdp didn't exited with status 0");
 
 		NSString *scriptSuitePath = [scriptSuitesFolder stringByAppendingPathComponent:[suiteName stringByAppendingPathExtension:@"scriptSuite"]];
 		scriptSuite = [NSDictionary dictionaryWithContentsOfFile:scriptSuitePath];
-		STAssertNotNil(scriptSuite, @"No script suite named %@ in sdef file %@", suiteName, path);
+		XCTAssertNotNil(scriptSuite, @"No script suite named %@ in sdef file %@", suiteName, path);
 
 		NSLog(@"deleting files in directory: %@", scriptSuitesFolder);
 		[mgr removeFilesInDirectory:scriptSuitesFolder withPrefix:nil movingToTrash:NO];
@@ -80,11 +80,11 @@
 		NSTask *sdp = [NSTask launchedTaskWithLaunchPath:@"/usr/bin/sdp"
 											   arguments:args];
 		[sdp waitUntilExit];
-		STAssertEquals([sdp terminationStatus], 0, @"sdp didn't exited with status 0");
+		XCTAssertEqual([sdp terminationStatus], 0, @"sdp didn't exited with status 0");
 		
 		NSString *scriptTerminologyPath = [scriptTerminologiesFolder stringByAppendingPathComponent:[suiteName stringByAppendingPathExtension:@"scriptTerminology"]];
 		scriptTerminology = [NSDictionary dictionaryWithContentsOfFile:scriptTerminologyPath];
-		STAssertNotNil(scriptTerminology, @"No script suite named %@ in sdef file %@", suiteName, path);
+		XCTAssertNotNil(scriptTerminology, @"No script suite named %@ in sdef file %@", suiteName, path);
 		
 		NSLog(@"deleting files in directory: %@", scriptTerminologiesFolder);
 		[mgr removeFilesInDirectory:scriptTerminologiesFolder withPrefix:nil movingToTrash:NO];
@@ -95,16 +95,16 @@
 }
 - (NSDictionary *)dictionaryByMergingSuiteDictionary:(NSDictionary *)scriptSuite withTerminologyDictionary:(NSDictionary *)scriptTerminology
 {
-	NSMutableDictionary *merged = [[scriptSuite mutableCopy] autorelease];
+	NSMutableDictionary *merged = [scriptSuite mutableCopy];
 
-	NSMutableDictionary *classes = [[[scriptSuite objectForKey:@"Classes"] mutableCopy] autorelease];
+	NSMutableDictionary *classes = [[scriptSuite objectForKey:@"Classes"] mutableCopy];
 	NSDictionary *terminologyClasses = [scriptTerminology objectForKey:@"Classes"];
 
 	NSLog(@"Before add: %@", classes);
 	NSEnumerator *keyEnum = [classes keyEnumerator];
 	NSString *className;
 	while ((className = [keyEnum nextObject])) {
-		NSMutableDictionary *classDict = [[[classes objectForKey:className] mutableCopy] autorelease];
+		NSMutableDictionary *classDict = [[classes objectForKey:className] mutableCopy];
 		[classDict translate:nil
 						 add:[terminologyClasses objectForKey:className]
 					  remove:nil];
@@ -153,9 +153,9 @@
 	NSAttributedString *input = [self giveMeA:[NSAttributedString class] ofThisString:str];
 	NSString *output = [[NSScriptCoercionHandler sharedCoercionHandler] coerceValue:input toClass:[NSString class]];
 
-	STAssertNotNil(output, @"Coercion returned nil");
-	STAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
-	STAssertEqualObjects(output, input, @"Coercion must not change the object's value");
+	XCTAssertNotNil(output, @"Coercion returned nil");
+	XCTAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
+	XCTAssertEqualObjects(output, input, @"Coercion must not change the object's value");
 }
 - (void)testMutableAttributedStringToPlainText {
 	NSString *str = @"The quack is strong with this one.";
@@ -163,9 +163,9 @@
 	NSMutableAttributedString *input = [self giveMeA:[NSMutableAttributedString class] ofThisString:str];
 	NSString *output = [[NSScriptCoercionHandler sharedCoercionHandler] coerceValue:input toClass:[NSString class]];
 
-	STAssertNotNil(output, @"Coercion returned nil");
-	STAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
-	STAssertEqualObjects(output, input, @"Coercion must not change the object's value");
+	XCTAssertNotNil(output, @"Coercion returned nil");
+	XCTAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
+	XCTAssertEqualObjects(output, input, @"Coercion must not change the object's value");
 }
 */
 - (void)testTextStorageToPlainText {
@@ -174,9 +174,9 @@
 	NSTextStorage *input = [self giveMeA:[NSTextStorage class] ofThisString:str];
 	NSString *output = [[NSScriptCoercionHandler sharedCoercionHandler] coerceValue:input toClass:[NSString class]];
 
-	STAssertNotNil(output, @"Coercion returned nil");
-	STAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
-	STAssertEqualObjects(output, [input string], @"Coercion must not change the object's value");
+	XCTAssertNotNil(output, @"Coercion returned nil");
+	XCTAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
+	XCTAssertEqualObjects(output, [input string], @"Coercion must not change the object's value");
 }
 
 #pragma mark -
@@ -188,9 +188,9 @@
 	NSString *input = [self giveMeA:[NSString class] ofThisString:str];
 	NSAttributedString *output = [[NSScriptCoercionHandler sharedCoercionHandler] coerceValue:input toClass:destClass];
 
-	STAssertNotNil(output, @"Coercion returned nil");
-	STAssertTrue([output isKindOfClass:destClass], @"Coercion to %@ must result in an %@; instead, it resulted in an %@", destClass, destClass, [output class]);
-	STAssertEqualObjects(output, input, @"Coercion must not change the object's value");
+	XCTAssertNotNil(output, @"Coercion returned nil");
+	XCTAssertTrue([output isKindOfClass:destClass], @"Coercion to %@ must result in an %@; instead, it resulted in an %@", destClass, destClass, [output class]);
+	XCTAssertEqualObjects(output, input, @"Coercion must not change the object's value");
 }
 - (void)testPlainTextToMutableAttributedString {
 	NSString *str = @"More fun than a bag of chips.";
@@ -199,9 +199,9 @@
 	NSString *input = [self giveMeA:[NSString class] ofThisString:str];
 	NSMutableAttributedString *output = [[NSScriptCoercionHandler sharedCoercionHandler] coerceValue:input toClass:destClass];
 
-	STAssertNotNil(output, @"Coercion returned nil");
-	STAssertTrue([output isKindOfClass:destClass], @"Coercion to %@ must result in an %@; instead, it resulted in an %@", destClass, destClass, [output class]);
-	STAssertEqualObjects(output, input, @"Coercion must not change the object's value");
+	XCTAssertNotNil(output, @"Coercion returned nil");
+	XCTAssertTrue([output isKindOfClass:destClass], @"Coercion to %@ must result in an %@; instead, it resulted in an %@", destClass, destClass, [output class]);
+	XCTAssertEqualObjects(output, input, @"Coercion must not change the object's value");
 }
 */
 - (void)testPlainTextToTextStorage {
@@ -211,9 +211,9 @@
 	NSString *input = [self giveMeA:[NSString class] ofThisString:str];
 	NSTextStorage *output = [[NSScriptCoercionHandler sharedCoercionHandler] coerceValue:input toClass:destClass];
 
-	STAssertNotNil(output, @"Coercion returned nil");
-	STAssertTrue([output isKindOfClass:destClass], @"Coercion to %@ must result in an %@; instead, it resulted in an %@", destClass, destClass, [output class]);
-	STAssertEqualObjects([output string], input, @"Coercion must not change the object's value");
+	XCTAssertNotNil(output, @"Coercion returned nil");
+	XCTAssertTrue([output isKindOfClass:destClass], @"Coercion to %@ must result in an %@; instead, it resulted in an %@", destClass, destClass, [output class]);
+	XCTAssertEqualObjects([output string], input, @"Coercion must not change the object's value");
 }
 
 #pragma mark -
@@ -227,13 +227,13 @@
 
 	//Mutate the original.
 	NSDictionary *attrs = [NSDictionary dictionaryWithObject:[NSFont fontWithName:@"Courier" size:14.0f] forKey:NSFontAttributeName];
-	NSAttributedString *replacement = [[[NSAttributedString alloc] initWithString:@" (one of the slogans from the old Adium X site)" attributes:attrs] autorelease];
+	NSAttributedString *replacement = [[NSAttributedString alloc] initWithString:@" (one of the slogans from the old Adium X site)" attributes:attrs];
 	[input replaceCharactersInRange:(NSRange){ [input length], 0U }
 			   withAttributedString:replacement];
 
-	STAssertNotNil(output, @"Coercion returned nil");
-	STAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
-	STAssertEqualObjects(output, str, @"Coercion must not change the object's value");
+	XCTAssertNotNil(output, @"Coercion returned nil");
+	XCTAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
+	XCTAssertEqualObjects(output, str, @"Coercion must not change the object's value");
 }
 */
 - (void)testTextStorageToPlainTextWithMutations {
@@ -244,13 +244,13 @@
 
 	//Mutate the original.
 	NSDictionary *attrs = [NSDictionary dictionaryWithObject:[NSFont fontWithName:@"Courier" size:14.0f] forKey:NSFontAttributeName];
-	NSAttributedString *replacement = [[[NSAttributedString alloc] initWithString:@" (one of the slogans from the old Adium X site)" attributes:attrs] autorelease];
+	NSAttributedString *replacement = [[NSAttributedString alloc] initWithString:@" (one of the slogans from the old Adium X site)" attributes:attrs];
 	[input replaceCharactersInRange:(NSRange){ [input length], 0U }
 			   withAttributedString:replacement];
 
-	STAssertNotNil(output, @"Coercion returned nil");
-	STAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
-	STAssertEqualObjects(output, str, @"Coercion must not change the object's value");
+	XCTAssertNotNil(output, @"Coercion returned nil");
+	XCTAssertTrue([output isKindOfClass:[NSString class]], @"Coercion to NSString must result in an NSString; instead, it resulted in an %@", [output class]);
+	XCTAssertEqualObjects(output, str, @"Coercion must not change the object's value");
 }
 
 #pragma mark -
@@ -271,7 +271,7 @@
 	NSDictionary *errorInfo = nil;
 	[[[[NSAppleScript alloc] initWithSource:source] autorelease] executeAndReturnError:&errorInfo];
 
-	STAssertNil(errorInfo, @"AppleScript returned an error: %@", errorInfo);
+	XCTAssertNil(errorInfo, @"AppleScript returned an error: %@", errorInfo);
 }
 
 @end
--- a/UnitTests/TestStringAdditions.h	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestStringAdditions.h	Mon Dec 14 00:37:29 2015 -0800
@@ -14,9 +14,9 @@
  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 #import <Foundation/Foundation.h>
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 
-@interface TestStringAdditions: SenTestCase
+@interface TestStringAdditions: XCTestCase
 {}
 
 - (void)testRandomStringOfLength;
--- a/UnitTests/TestStringAdditions.m	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/TestStringAdditions.m	Mon Dec 14 00:37:29 2015 -0800
@@ -24,11 +24,11 @@
 {
 	//Test at least two different lengths, and see what happens when we ask for 0.
 	NSString *str = [NSString randomStringOfLength:6];
-	STAssertEquals([str length], (NSUInteger)6U, @"+randomStringOfLength:6 did not return a 6-character string; it returned \"%@\", which is %u characters", str, [str length]);
+	XCTAssertEqual([str length], (NSUInteger)6U, @"+randomStringOfLength:6 did not return a 6-character string; it returned \"%@\", which is %u characters", str, [str length]);
 	str = [NSString randomStringOfLength:12];
-	STAssertEquals([str length], (NSUInteger)12U, @"+randomStringOfLength:12 did not return a 12-character string; it returned \"%@\", which is %u characters", str, [str length]);
+	XCTAssertEqual([str length], (NSUInteger)12U, @"+randomStringOfLength:12 did not return a 12-character string; it returned \"%@\", which is %u characters", str, [str length]);
 	str = [NSString randomStringOfLength:0];
-	STAssertEquals([str length], (NSUInteger)0U, @"+randomStringOfLength:0 did not return a 0-character string; it returned \"%@\", which is %u characters", str, [str length]);
+	XCTAssertEqual([str length], (NSUInteger)0U, @"+randomStringOfLength:0 did not return a 0-character string; it returned \"%@\", which is %u characters", str, [str length]);
 }
 - (void)testStringWithContentsOfUTF8File
 {
@@ -51,25 +51,25 @@
 	NSString *snowman = [NSString stringWithUTF8String:snowmanUTF8];
 	NSMutableString *snowmanFromFile = [NSMutableString stringWithContentsOfUTF8File:pathToFile];
 	AISimplifiedAssertEqualObjects(snowman, snowmanFromFile, @"+stringWithContentsOfUTF8File: incorrectly read the file");
-	STAssertTrue([snowmanFromFile isKindOfClass:[NSMutableString class]], @"Sending +stringWithContentsOfUTF8File: to NSMutableString should result in a mutable string");
+	XCTAssertTrue([snowmanFromFile isKindOfClass:[NSMutableString class]], @"Sending +stringWithContentsOfUTF8File: to NSMutableString should result in a mutable string");
 }
 - (void)testEllipsis
 {
-	STAssertEquals([[NSString ellipsis] length], (NSUInteger)1U, @"+ellipsis did not return a 1-character string; it returned \"%@\"", [NSString ellipsis]);
-	STAssertEquals((NSUInteger)[[NSString ellipsis] characterAtIndex:0U], (NSUInteger)0x2026U, @"+ellipsis did not return a horizontal ellipsis (U+2026); it returned \"%@\" instead", [NSString ellipsis]);
+	XCTAssertEqual([[NSString ellipsis] length], (NSUInteger)1U, @"+ellipsis did not return a 1-character string; it returned \"%@\"", [NSString ellipsis]);
+	XCTAssertEqual((NSUInteger)[[NSString ellipsis] characterAtIndex:0U], (NSUInteger)0x2026U, @"+ellipsis did not return a horizontal ellipsis (U+2026); it returned \"%@\" instead", [NSString ellipsis]);
 }
 - (void)testMutableEllipsis
 {
-	STAssertEquals([[NSMutableString ellipsis] length], (NSUInteger)1U, @"+ellipsis did not return a 1-character string; it returned \"%@\"", [NSString ellipsis]);
-	STAssertEquals((NSUInteger)[[NSMutableString ellipsis] characterAtIndex:0U], (NSUInteger)0x2026U, @"+ellipsis did not return a horizontal ellipsis (U+2026); it returned \"%@\" instead", [NSString ellipsis]);
-	STAssertTrue([[NSMutableString ellipsis] isKindOfClass:[NSMutableString class]], @"Sending +ellipsis to NSMutableString should result in a mutable string");
+	XCTAssertEqual([[NSMutableString ellipsis] length], (NSUInteger)1U, @"+ellipsis did not return a 1-character string; it returned \"%@\"", [NSString ellipsis]);
+	XCTAssertEqual((NSUInteger)[[NSMutableString ellipsis] characterAtIndex:0U], (NSUInteger)0x2026U, @"+ellipsis did not return a horizontal ellipsis (U+2026); it returned \"%@\" instead", [NSString ellipsis]);
+	XCTAssertTrue([[NSMutableString ellipsis] isKindOfClass:[NSMutableString class]], @"Sending +ellipsis to NSMutableString should result in a mutable string");
 }
 - (void)testStringByAppendingEllipsis
 {
 	NSString *before = @"Foo";
 	NSString *after  = [before stringByAppendingEllipsis];
-	STAssertEquals(([after length] - [before length]), (NSUInteger)1U, @"Appending a single character should result in a string that is one character longer. before is \"%@\"; after is \"%@\"", before, after);
-	STAssertTrue([after hasSuffix:[NSString ellipsis]], @"String formed by appending [NSString ellipsis] should end with [NSString ellipsis]. before is \"%@\"; after is \"%@\"", before, after);
+	XCTAssertEqual(([after length] - [before length]), (NSUInteger)1U, @"Appending a single character should result in a string that is one character longer. before is \"%@\"; after is \"%@\"", before, after);
+	XCTAssertTrue([after hasSuffix:[NSString ellipsis]], @"String formed by appending [NSString ellipsis] should end with [NSString ellipsis]. before is \"%@\"; after is \"%@\"", before, after);
 }
 - (void)testCompactedString
 {
@@ -85,281 +85,281 @@
 
 	//First, try truncating to a greater length.
 	after = [before stringWithEllipsisByTruncatingToLength:[before length] + 1];
-	STAssertEqualObjects(before, after, @"Truncating to a length greater than that of the string being truncated should not change the string. before is \"%@\"; after is \"%@\"", before, after);
+	XCTAssertEqualObjects(before, after, @"Truncating to a length greater than that of the string being truncated should not change the string. before is \"%@\"; after is \"%@\"", before, after);
 
 	//Second, try truncating to the same length.
 	after = [before stringWithEllipsisByTruncatingToLength:[before length]];
-	STAssertEqualObjects(before, after, @"Truncating to a length equal to that of the string being truncated should not change the string. before is \"%@\"; after is \"%@\"", before, after);
+	XCTAssertEqualObjects(before, after, @"Truncating to a length equal to that of the string being truncated should not change the string. before is \"%@\"; after is \"%@\"", before, after);
 
 	//Third, try truncating to a shorter length. This one should actually truncate the string and append an ellipsis.
 	after = [before stringWithEllipsisByTruncatingToLength:[before length] - 1];
-	STAssertEquals(([before length] - [after length]), (NSUInteger)1U, @"Appending a single character should result in a string that is one character longer. before is \"%@\"; after is \"%@\"", before, after);
+	XCTAssertEqual(([before length] - [after length]), (NSUInteger)1U, @"Appending a single character should result in a string that is one character longer. before is \"%@\"; after is \"%@\"", before, after);
 	//The part before the ellipsis in after should be equal to the same portion of before.
 	NSUInteger cutHere = [after length] - 1;
-	STAssertEqualObjects([after  substringToIndex:cutHere - 1],
+	XCTAssertEqualObjects([after  substringToIndex:cutHere - 1],
 	                     [before substringToIndex:cutHere - 1],
 						 @"Truncating a string should not result in any changes before the truncation point before is \"%@\"; after is \"%@\"", before, after);
-	STAssertTrue([after hasSuffix:[NSString ellipsis]], @"String formed by appending [NSString ellipsis] should end with [NSString ellipsis]. before is \"%@\"; after is \"%@\"", before, after);
+	XCTAssertTrue([after hasSuffix:[NSString ellipsis]], @"String formed by appending [NSString ellipsis] should end with [NSString ellipsis]. before is \"%@\"; after is \"%@\"", before, after);
 }
 - (void)testIdentityMethod
 {
 	NSString *str = @"Foo";
-	STAssertEquals([str string], str, @"A method that returns itself must, by definition, return itself.");
+	XCTAssertEqual([str string], str, @"A method that returns itself must, by definition, return itself.");
 }
 - (void)testXMLEscaping
 {
 	NSString *originalXMLSource = @"<rel-date><number>Four score</number> &amp; <number>seven</number> years ago</rel-date>";
 	NSString *escaped = [originalXMLSource stringByEscapingForXMLWithEntities:nil];
 	NSString *unescaped = [escaped stringByUnescapingFromXMLWithEntities:nil];
-	STAssertEqualObjects(originalXMLSource, unescaped, @"Round trip through scaping + unescaping did not preserve the original string.");
+	XCTAssertEqualObjects(originalXMLSource, unescaped, @"Round trip through scaping + unescaping did not preserve the original string.");
 }
 - (void)testEscapingForShell
 {
 	//Whitespace should be replaced by '\' followed by a character (one of [atnfr] for most of them; space simply puts a \ in front of the space).
-	STAssertEqualObjects([@"\a" stringByEscapingForShell], @"\\a", @"-stringByEscapingForShell didn't properly escape the alert (bell) character");
-	STAssertEqualObjects([@"\t" stringByEscapingForShell], @"\\t", @"-stringByEscapingForShell didn't properly escape the horizontal tab character");
-	STAssertEqualObjects([@"\n" stringByEscapingForShell], @"\\n", @"-stringByEscapingForShell didn't properly escape the line-feed character");
-	STAssertEqualObjects([@"\v" stringByEscapingForShell], @"\\v", @"-stringByEscapingForShell didn't properly escape the vertical tab character");
-	STAssertEqualObjects([@"\f" stringByEscapingForShell], @"\\f", @"-stringByEscapingForShell didn't properly escape the form-feed character");
-	STAssertEqualObjects([@"\r" stringByEscapingForShell], @"\\r", @"-stringByEscapingForShell didn't properly escape the carriage-return character");
-	STAssertEqualObjects([@" "  stringByEscapingForShell], @"\\ ", @"-stringByEscapingForShell didn't properly escape the space character");
+	XCTAssertEqualObjects([@"\a" stringByEscapingForShell], @"\\a", @"-stringByEscapingForShell didn't properly escape the alert (bell) character");
+	XCTAssertEqualObjects([@"\t" stringByEscapingForShell], @"\\t", @"-stringByEscapingForShell didn't properly escape the horizontal tab character");
+	XCTAssertEqualObjects([@"\n" stringByEscapingForShell], @"\\n", @"-stringByEscapingForShell didn't properly escape the line-feed character");
+	XCTAssertEqualObjects([@"\v" stringByEscapingForShell], @"\\v", @"-stringByEscapingForShell didn't properly escape the vertical tab character");
+	XCTAssertEqualObjects([@"\f" stringByEscapingForShell], @"\\f", @"-stringByEscapingForShell didn't properly escape the form-feed character");
+	XCTAssertEqualObjects([@"\r" stringByEscapingForShell], @"\\r", @"-stringByEscapingForShell didn't properly escape the carriage-return character");
+	XCTAssertEqualObjects([@" "  stringByEscapingForShell], @"\\ ", @"-stringByEscapingForShell didn't properly escape the space character");
 
 	//Other unsafe characters are simply backslash-escaped.
-	STAssertEqualObjects([@"\\" stringByEscapingForShell], @"\\\\", @"-stringByEscapingForShell didn't properly escape the backslash character");
-	STAssertEqualObjects([@"'" stringByEscapingForShell], @"\\'", @"-stringByEscapingForShell didn't properly escape the apostrophe/single-quotation-mark character");
-	STAssertEqualObjects([@"\"" stringByEscapingForShell], @"\\\"", @"-stringByEscapingForShell didn't properly escape the quotation-mark character");
-	STAssertEqualObjects([@"`" stringByEscapingForShell], @"\\`", @"-stringByEscapingForShell didn't properly escape the backquote character");
-	STAssertEqualObjects([@"!" stringByEscapingForShell], @"\\!", @"-stringByEscapingForShell didn't properly escape the bang character");
-	STAssertEqualObjects([@"$" stringByEscapingForShell], @"\\$", @"-stringByEscapingForShell didn't properly escape the dollar-sign character");
-	STAssertEqualObjects([@"&"  stringByEscapingForShell], @"\\&", @"-stringByEscapingForShell didn't properly escape the ampersand character");
-	STAssertEqualObjects([@"|"  stringByEscapingForShell], @"\\|", @"-stringByEscapingForShell didn't properly escape the pipe character");
+	XCTAssertEqualObjects([@"\\" stringByEscapingForShell], @"\\\\", @"-stringByEscapingForShell didn't properly escape the backslash character");
+	XCTAssertEqualObjects([@"'" stringByEscapingForShell], @"\\'", @"-stringByEscapingForShell didn't properly escape the apostrophe/single-quotation-mark character");
+	XCTAssertEqualObjects([@"\"" stringByEscapingForShell], @"\\\"", @"-stringByEscapingForShell didn't properly escape the quotation-mark character");
+	XCTAssertEqualObjects([@"`" stringByEscapingForShell], @"\\`", @"-stringByEscapingForShell didn't properly escape the backquote character");
+	XCTAssertEqualObjects([@"!" stringByEscapingForShell], @"\\!", @"-stringByEscapingForShell didn't properly escape the bang character");
+	XCTAssertEqualObjects([@"$" stringByEscapingForShell], @"\\$", @"-stringByEscapingForShell didn't properly escape the dollar-sign character");
+	XCTAssertEqualObjects([@"&"  stringByEscapingForShell], @"\\&", @"-stringByEscapingForShell didn't properly escape the ampersand character");
+	XCTAssertEqualObjects([@"|"  stringByEscapingForShell], @"\\|", @"-stringByEscapingForShell didn't properly escape the pipe character");
 }
 - (void)testVolumePath
 {
-	STAssertEqualObjects([@"/" volumePath], @"/", @"Volume path of / is \"%@\", not /", [@"/" volumePath]);
+	XCTAssertEqualObjects([@"/" volumePath], @"/", @"Volume path of / is \"%@\", not /", [@"/" volumePath]);
 
 	//Get the name of the startup volume, so that we can attempt to get the volume path of (what we hope is) a directory on it.
 	OSStatus err;
 
 	FSRef ref;
 	err = FSPathMakeRef((const UInt8 *)"/", &ref, /*isDirectory*/ NULL);
-	STAssertTrue(err == noErr, @"Error while attempting to determine the path of the startup volume: FSPathMakeRef returned %i", err);
+	XCTAssertTrue(err == noErr, @"Error while attempting to determine the path of the startup volume: FSPathMakeRef returned %i", err);
 
 	struct HFSUniStr255 volumeNameUnicode;
 	err = FSGetCatalogInfo(&ref, /*whichInfo*/ 0, /*catalogInfo*/ NULL, /*outName*/ &volumeNameUnicode, /*fsSpec*/ NULL, /*parentRef*/ NULL);
-	STAssertTrue(err == noErr, @"Error while attempting to determine the path of the startup volume: FSGetCatalogInfo returned %i", err);
+	XCTAssertTrue(err == noErr, @"Error while attempting to determine the path of the startup volume: FSGetCatalogInfo returned %i", err);
 
-	NSString *volumeName = [[[NSString alloc] initWithCharactersNoCopy:volumeNameUnicode.unicode length:volumeNameUnicode.length freeWhenDone:NO] autorelease];
+	NSString *volumeName = [[NSString alloc] initWithCharactersNoCopy:volumeNameUnicode.unicode length:volumeNameUnicode.length freeWhenDone:NO];
 	NSLog(@"Volume name from FSGetCatalogInfo is %@", volumeName);
 	NSString *inputPath = [[@"/Volumes" stringByAppendingPathComponent:volumeName] stringByAppendingPathComponent:@"Applications"];
 	NSString *outputPath = [inputPath volumePath];
 
-	STAssertEqualObjects(outputPath, @"/", @"The volume path of %@ should be /; instead, it was \"%@\"", inputPath, outputPath);
+	XCTAssertEqualObjects(outputPath, @"/", @"The volume path of %@ should be /; instead, it was \"%@\"", inputPath, outputPath);
 }
 
 - (void)testRangeOfLineBreakCharacterInRange
 {
 	NSRange searchRange = { 2U, 3U };
-	STAssertEqualObjects([@"foo\nbar" substringWithRange:searchRange], @"o\nb", @"Search range returned an unexpected substring");
-
-	NSRange range;
-
-	//No line-break
-	range = [@"foo bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a location of NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a length of 0");
-
-	//Line feed
-	range = [@"foo\nbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return the location of the line feed");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return a length of 1");
-
-	//Form feed
-	range = [@"foo\fbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return the location of the form feed");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return a length of 1");
-
-	//Carriage return
-	range = [@"foo\rbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return the location of the carriage return");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return a length of 1");
-
-	//CRLF sequence
-	range = [@"foo\r\nbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return the location of the carriage return");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)2U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return a length of 2");
-
-	//Next line
-	range = [[NSString stringWithUTF8String:"foo\xc2\x85""bar"] rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return the location of the next line");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return a length of 1");
-
-	//Line separator
-	range = [@"foo\u2028bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return the location of the line separator");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return a length of 1");
-
-	//Paragraph separator
-	range = [@"foo\u2029bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return the location of the paragraph separator");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return a length of 1");
-}
-- (void)testRangeOfLineBreakCharacterInEmptyRange
-{
-	NSRange searchRange = { 3U, 0U }; //3 being the index of the line-break
-	STAssertEqualObjects([@"foo\nbar" substringWithRange:searchRange], @"", @"Search range returned an unexpected substring");
+	XCTAssertEqualObjects([@"foo\nbar" substringWithRange:searchRange], @"o\nb", @"Search range returned an unexpected substring");
 
 	NSRange range;
 
 	//No line-break
 	range = [@"foo bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a location of NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a location of NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a length of 0");
 
 	//Line feed
 	range = [@"foo\nbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return the location of the line feed");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return a length of 1");
 
 	//Form feed
 	range = [@"foo\fbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return the location of the form feed");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return a length of 1");
 
 	//Carriage return
 	range = [@"foo\rbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return the location of the carriage return");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return a length of 1");
 
 	//CRLF sequence
 	range = [@"foo\r\nbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return the location of the carriage return");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)2U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return a length of 2");
 
 	//Next line
-	range = [@"foo\xc2\x85""bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return a length of 0");
+	range = [[NSString stringWithUTF8String:"foo\xc2\x85""bar"] rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return the location of the next line");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return a length of 1");
 
 	//Line separator
 	range = [@"foo\u2028bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return the location of the line separator");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return a length of 1");
 
 	//Paragraph separator
 	range = [@"foo\u2029bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return the location of the paragraph separator");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return a length of 1");
 }
-- (void)testRangeOfLineBreakCharacterInRangeNotContainingLineBreakCharacter
+- (void)testRangeOfLineBreakCharacterInEmptyRange
 {
-	NSRange searchRange = { 4U, 3U };
-	STAssertEqualObjects([@"foo\nbar" substringWithRange:searchRange], @"bar", @"Search range returned an unexpected substring");
-	NSRange searchRangeForCRLF = { searchRange.location + 1U, searchRange.length };
-	STAssertEqualObjects([@"foo\r\nbar" substringWithRange:searchRangeForCRLF], @"bar", @"Search range (for CRLF)returned an unexpected substring");
+	NSRange searchRange = { 3U, 0U }; //3 being the index of the line-break
+	XCTAssertEqualObjects([@"foo\nbar" substringWithRange:searchRange], @"", @"Search range returned an unexpected substring");
 
 	NSRange range;
 
 	//No line-break
 	range = [@"foo bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a location of NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a location of NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a length of 0");
 
 	//Line feed
 	range = [@"foo\nbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return a length of 0");
 
 	//Form feed
 	range = [@"foo\fbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return a length of 0");
 
 	//Carriage return
 	range = [@"foo\rbar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return a length of 0");
 
 	//CRLF sequence
-	range = [@"foo\r\nbar" rangeOfLineBreakCharacterInRange:searchRangeForCRLF];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return a length of 0");
+	range = [@"foo\r\nbar" rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return a length of 0");
 
 	//Next line
 	range = [@"foo\xc2\x85""bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return a length of 0");
 
 	//Line separator
 	range = [@"foo\u2028bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return a length of 0");
 
 	//Paragraph separator
 	range = [@"foo\u2029bar" rangeOfLineBreakCharacterInRange:searchRange];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return a length of 0");
+}
+- (void)testRangeOfLineBreakCharacterInRangeNotContainingLineBreakCharacter
+{
+	NSRange searchRange = { 4U, 3U };
+	XCTAssertEqualObjects([@"foo\nbar" substringWithRange:searchRange], @"bar", @"Search range returned an unexpected substring");
+	NSRange searchRangeForCRLF = { searchRange.location + 1U, searchRange.length };
+	XCTAssertEqualObjects([@"foo\r\nbar" substringWithRange:searchRangeForCRLF], @"bar", @"Search range (for CRLF)returned an unexpected substring");
+
+	NSRange range;
+
+	//No line-break
+	range = [@"foo bar" rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a location of NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that doesn't have one, should return a length of 0");
+
+	//Line feed
+	range = [@"foo\nbar" rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line feed, should return a length of 0");
+
+	//Form feed
+	range = [@"foo\fbar" rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a form feed, should return a length of 0");
+
+	//Carriage return
+	range = [@"foo\rbar" rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a carriage return, should return a length of 0");
+
+	//CRLF sequence
+	range = [@"foo\r\nbar" rangeOfLineBreakCharacterInRange:searchRangeForCRLF];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a CRLF sequence, should return a length of 0");
+
+	//Next line
+	range = [@"foo\xc2\x85""bar" rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a next line, should return a length of 0");
+
+	//Line separator
+	range = [@"foo\u2028bar" rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a line separator, should return a length of 0");
+
+	//Paragraph separator
+	range = [@"foo\u2029bar" rangeOfLineBreakCharacterInRange:searchRange];
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterInRange:, sent to a string that contains a paragraph separator, should return a length of 0");
 }
 - (void)testRangeOfLineBreakCharacterInPartiallyInvalidRange
 {
 	NSRange searchRange = { 5U, 3U }; //"arX" (where X = outside the string)
-	STAssertThrowsSpecificNamed([@"foo\nbar" rangeOfLineBreakCharacterInRange:searchRange], NSException, NSRangeException, @"-rangeOfLineBreakCharacterInRange:, with a range that is partially outside the receiver string, should throw NSRangeException");
+	XCTAssertThrowsSpecificNamed([@"foo\nbar" rangeOfLineBreakCharacterInRange:searchRange], NSException, NSRangeException, @"-rangeOfLineBreakCharacterInRange:, with a range that is partially outside the receiver string, should throw NSRangeException");
 }
 - (void)testRangeOfLineBreakCharacterInInvalidRange
 {
 	NSRange searchRange = { 12U, 3U }; //Length of @"foo\nbar": 7; 12 > 7, so the range is wholly invalid
-	STAssertThrowsSpecificNamed([@"foo\nbar" rangeOfLineBreakCharacterInRange:searchRange], NSException, NSRangeException, @"-rangeOfLineBreakCharacterInRange:, with a range that is wholly outside the receiver string, should throw NSRangeException");
+	XCTAssertThrowsSpecificNamed([@"foo\nbar" rangeOfLineBreakCharacterInRange:searchRange], NSException, NSRangeException, @"-rangeOfLineBreakCharacterInRange:, with a range that is wholly outside the receiver string, should throw NSRangeException");
 }
 - (void)testRangeOfLineBreakCharacterFromIndex
 {
-	STAssertEqualObjects([@"foo\nbar" substringFromIndex:3U], @"\nbar", @"Search range returned an unexpected substring");
+	XCTAssertEqualObjects([@"foo\nbar" substringFromIndex:3U], @"\nbar", @"Search range returned an unexpected substring");
 
 	NSRange range;
 
 	//No line-break
 	range = [@"foo bar" rangeOfLineBreakCharacterFromIndex:3U];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that doesn't have one, should return a location of NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that doesn't have one, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that doesn't have one, should return a location of NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that doesn't have one, should return a length of 0");
 
 	//Line feed
 	range = [@"foo\nbar" rangeOfLineBreakCharacterFromIndex:3U];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a line feed, should return the location of the line feed");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a line feed, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a line feed, should return the location of the line feed");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a line feed, should return a length of 1");
 
 	//Form feed
 	range = [@"foo\fbar" rangeOfLineBreakCharacterFromIndex:3U];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a form feed, should return the location of the form feed");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a form feed, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a form feed, should return the location of the form feed");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a form feed, should return a length of 1");
 
 	//Carriage return
 	range = [@"foo\rbar" rangeOfLineBreakCharacterFromIndex:3U];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a carriage return, should return the location of the carriage return");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a carriage return, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a carriage return, should return the location of the carriage return");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a carriage return, should return a length of 1");
 
 	//CRLF sequence
 	range = [@"foo\r\nbar" rangeOfLineBreakCharacterFromIndex:3U];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a CRLF sequence, should return the location of the carriage return");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)2U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a CRLF sequence, should return a length of 2");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a CRLF sequence, should return the location of the carriage return");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)2U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a CRLF sequence, should return a length of 2");
 
 	//Next line
 	range = [@"foo\xc2\x85""bar" rangeOfLineBreakCharacterFromIndex:3U];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a next line, should return the location of the next line");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a next line, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a next line, should return the location of the next line");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a next line, should return a length of 1");
 
 	//Line separator
 	range = [@"foo\u2028bar" rangeOfLineBreakCharacterFromIndex:3U];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a line separator, should return the location of the line separator");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a line separator, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a line separator, should return the location of the line separator");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a line separator, should return a length of 1");
 
 	//Paragraph separator
 	range = [@"foo\u2029bar" rangeOfLineBreakCharacterFromIndex:3U];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a paragraph separator, should return the location of the paragraph separator");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a paragraph separator, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a paragraph separator, should return the location of the paragraph separator");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacterFromIndex:, sent to a string that contains a paragraph separator, should return a length of 1");
 }
 - (void)testRangeOfLineBreakCharacterFromInvalidIndex
 {
 	NSUInteger startIdx = 7U; //Length of @"foo\nbar": 7, so this index is just outside the string (last valid index: 6).
-	STAssertThrowsSpecificNamed([@"foo\nbar" rangeOfLineBreakCharacterFromIndex:startIdx], NSException, NSRangeException, @"-rangeOfLineBreakCharacterFromIndex:, with a start index that is outside the receiver string, should throw NSRangeException");
+	XCTAssertThrowsSpecificNamed([@"foo\nbar" rangeOfLineBreakCharacterFromIndex:startIdx], NSException, NSRangeException, @"-rangeOfLineBreakCharacterFromIndex:, with a start index that is outside the receiver string, should throw NSRangeException");
 }
 - (void)testRangeOfLineBreakCharacter
 {
@@ -367,49 +367,49 @@
 
 	//No line-break
 	range = [@"foo bar" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacter, sent to a string that doesn't have one, should return a location of NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacter, sent to a string that doesn't have one, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacter, sent to a string that doesn't have one, should return a location of NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacter, sent to a string that doesn't have one, should return a length of 0");
 
 	//Line feed
 	range = [@"foo\nbar" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a line feed, should return the location of the line feed");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a line feed, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a line feed, should return the location of the line feed");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a line feed, should return a length of 1");
 
 	//Form feed
 	range = [@"foo\fbar" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a form feed, should return the location of the form feed");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a form feed, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a form feed, should return the location of the form feed");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a form feed, should return a length of 1");
 
 	//Carriage return
 	range = [@"foo\rbar" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a carriage return, should return the location of the carriage return");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a carriage return, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a carriage return, should return the location of the carriage return");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a carriage return, should return a length of 1");
 
 	//CRLF sequence
 	range = [@"foo\r\nbar" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a CRLF sequence, should return the location of the carriage return");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)2U, @"-rangeOfLineBreakCharacter, sent to a string that contains a CRLF sequence, should return a length of 2");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a CRLF sequence, should return the location of the carriage return");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)2U, @"-rangeOfLineBreakCharacter, sent to a string that contains a CRLF sequence, should return a length of 2");
 
 	//Next line
 	range = [@"foo\xc2\x85""bar" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a next line, should return the location of the next line");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a next line, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a next line, should return the location of the next line");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a next line, should return a length of 1");
 
 	//Line separator
 	range = [@"foo\u2028bar" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a line separator, should return the location of the line separator");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a line separator, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a line separator, should return the location of the line separator");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a line separator, should return a length of 1");
 
 	//Paragraph separator
 	range = [@"foo\u2029bar" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a paragraph separator, should return the location of the paragraph separator");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a paragraph separator, should return a length of 1");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)3U, @"-rangeOfLineBreakCharacter, sent to a string that contains a paragraph separator, should return the location of the paragraph separator");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)1U, @"-rangeOfLineBreakCharacter, sent to a string that contains a paragraph separator, should return a length of 1");
 }
 - (void)testRangeOfLineBreakCharacterInEmptyString
 {
 	NSRange range = [@"" rangeOfLineBreakCharacter];
-	STAssertEquals((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacter, sent to an empty string, should return a location of NSNotFound");
-	STAssertEquals((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacter, sent to an empty string, should return a length of 0");
+	XCTAssertEqual((NSUInteger)range.location, (NSUInteger)NSNotFound, @"-rangeOfLineBreakCharacter, sent to an empty string, should return a location of NSNotFound");
+	XCTAssertEqual((NSUInteger)range.length, (NSUInteger)0U, @"-rangeOfLineBreakCharacter, sent to an empty string, should return a length of 0");
 }
 
 - (void)testAllLinesWithSeparator
@@ -434,43 +434,43 @@
 - (void) testCaseInsensitivelyEqualToSameString {
 	NSString *str = @"Adium rocks!";
 	NSString *other = [NSMutableString stringWithString:str]; //Using NSMutableString guarantees that we won't simply get the same immutable string.
-	STAssertTrue([str isCaseInsensitivelyEqualToString:other], @"string should be equal to itself!");
+	XCTAssertTrue([str isCaseInsensitivelyEqualToString:other], @"string should be equal to itself!");
 }
 - (void) testCaseInsensitivelyEqualToSameStringInUppercase {
 	NSString *str = @"Adium rocks!";
 	NSString *other = [str uppercaseString];
-	STAssertTrue([str isCaseInsensitivelyEqualToString:other], @"string should be case-insensitively equal to uppercase version of it");
+	XCTAssertTrue([str isCaseInsensitivelyEqualToString:other], @"string should be case-insensitively equal to uppercase version of it");
 }
 - (void) testCaseInsensitivelyEqualToSameStringInLowercase {
 	NSString *str = @"Adium rocks!";
 	NSString *other = [str lowercaseString];
-	STAssertTrue([str isCaseInsensitivelyEqualToString:other], @"string should be case-insensitively equal to lowercase version of it");
+	XCTAssertTrue([str isCaseInsensitivelyEqualToString:other], @"string should be case-insensitively equal to lowercase version of it");
 }
 - (void) testCaseInsensitivelyEqualToStringPlusPrefix {
 	NSString *str = @"Adium rocks!";
 	NSString *other = [@"Verily, " stringByAppendingString:str];
-	STAssertFalse([str isCaseInsensitivelyEqualToString:other], @"string should be inequal to prefixed version of it");
+	XCTAssertFalse([str isCaseInsensitivelyEqualToString:other], @"string should be inequal to prefixed version of it");
 }
 - (void) testCaseInsensitivelyEqualToStringPlusSuffix {
 	NSString *str = @"Adium rocks!";
 	NSString *other = [str stringByAppendingString:@" Yes it does!"];
-	STAssertFalse([str isCaseInsensitivelyEqualToString:other], @"string should be inequal to suffixed version of it");
+	XCTAssertFalse([str isCaseInsensitivelyEqualToString:other], @"string should be inequal to suffixed version of it");
 }
 - (void) testCaseInsensitivelyEqualToCompletelyDifferentString {
 	NSString *str = @"Adium rocks!";
 	NSString *other = @"I just use iChat.";
-	STAssertFalse([str isCaseInsensitivelyEqualToString:other], @"string should be inequal to completely different string");
+	XCTAssertFalse([str isCaseInsensitivelyEqualToString:other], @"string should be inequal to completely different string");
 }
 - (void) testCaseInsensitivelyEqualToNil {
 	NSString *str = @"Adium rocks!";
-	STAssertThrows([str isCaseInsensitivelyEqualToString:nil], @"can't compare string to nil; this should have thrown");
+	XCTAssertThrows([str isCaseInsensitivelyEqualToString:nil], @"can't compare string to nil; this should have thrown");
 }
 - (void) testCaseInsensitivelyEqualToThingsThatAreNotStrings {
 	NSString *str = @"Adium rocks!";
-	STAssertThrows([str isCaseInsensitivelyEqualToString:(NSString *)[[[NSObject alloc] init] autorelease]], @"can't compare string to plain object; this should have thrown");
-	STAssertThrows([str isCaseInsensitivelyEqualToString:(NSString *)[NSNumber numberWithInteger:42]], @"can't compare string to number; this should have thrown");
-	STAssertThrows([str isCaseInsensitivelyEqualToString:(NSString *)[NSValue valueWithRect:NSMakeRect(0.0f, 0.0f, 128.0f, 128.0f)]], @"can't compare string to rect value; this should have thrown");
-	STAssertThrows([str isCaseInsensitivelyEqualToString:(NSString *)[NSImage imageNamed:@"NSDefaultApplicationIcon"]], @"can't compare string to image; this should have thrown");
+	XCTAssertThrows([str isCaseInsensitivelyEqualToString:(NSString *)[[[NSObject alloc] init] autorelease]], @"can't compare string to plain object; this should have thrown");
+	XCTAssertThrows([str isCaseInsensitivelyEqualToString:(NSString *)[NSNumber numberWithInteger:42]], @"can't compare string to number; this should have thrown");
+	XCTAssertThrows([str isCaseInsensitivelyEqualToString:(NSString *)[NSValue valueWithRect:NSMakeRect(0.0f, 0.0f, 128.0f, 128.0f)]], @"can't compare string to rect value; this should have thrown");
+	XCTAssertThrows([str isCaseInsensitivelyEqualToString:(NSString *)[NSImage imageNamed:@"NSDefaultApplicationIcon"]], @"can't compare string to image; this should have thrown");
 }
 
 
--- a/UnitTests/UnitTests_Prefix.pch	Mon Aug 04 16:49:27 2014 -0400
+++ b/UnitTests/UnitTests_Prefix.pch	Mon Dec 14 00:37:29 2015 -0800
@@ -2,7 +2,7 @@
 #ifdef __OBJC__
 
 #import <Cocoa/Cocoa.h>
-#import <SenTestingKit/SenTestingKit.h>
+#import <XCTest/XCTest.h>
 #import "AIUnitTestUtilities.h"
 
 #endif