From a769347ab9b102644bd81d012f9da59d22b97b8a Mon Sep 17 00:00:00 2001 From: Oscar Del Ben Date: Sun, 27 Feb 2011 16:57:31 +0100 Subject: [PATCH] -a first commit --- .gitignore | 1 + Classes/NSDateCalculationsAppDelegate.h | 22 + Classes/NSDateCalculationsAppDelegate.m | 88 + Classes/NSDateCalculationsViewController.h | 16 + Classes/NSDateCalculationsViewController.m | 66 + MainWindow.xib | 444 ++++++ NSDateCalculations-Info.plist | 30 + NSDateCalculations.xcodeproj/oscar.mode1v3 | 1430 +++++++++++++++++ NSDateCalculations.xcodeproj/oscar.pbxuser | 1507 ++++++++++++++++++ NSDateCalculations.xcodeproj/project.pbxproj | 443 +++++ NSDateCalculations/NSDate+Calculations.h | 28 + NSDateCalculations/NSDate+Calculations.m | 208 +++ NSDateCalculationsViewController.xib | 156 ++ NSDateCalculations_Prefix.pch | 8 + Readme | 23 + Test-Info.plist | 20 + Test/NSDateCalculationsTest.h | 46 + Test/NSDateCalculationsTest.m | 207 +++ main.m | 17 + 19 files changed, 4760 insertions(+) create mode 100644 .gitignore create mode 100644 Classes/NSDateCalculationsAppDelegate.h create mode 100644 Classes/NSDateCalculationsAppDelegate.m create mode 100644 Classes/NSDateCalculationsViewController.h create mode 100644 Classes/NSDateCalculationsViewController.m create mode 100644 MainWindow.xib create mode 100644 NSDateCalculations-Info.plist create mode 100644 NSDateCalculations.xcodeproj/oscar.mode1v3 create mode 100644 NSDateCalculations.xcodeproj/oscar.pbxuser create mode 100755 NSDateCalculations.xcodeproj/project.pbxproj create mode 100644 NSDateCalculations/NSDate+Calculations.h create mode 100644 NSDateCalculations/NSDate+Calculations.m create mode 100644 NSDateCalculationsViewController.xib create mode 100644 NSDateCalculations_Prefix.pch create mode 100644 Readme create mode 100644 Test-Info.plist create mode 100644 Test/NSDateCalculationsTest.h create mode 100644 Test/NSDateCalculationsTest.m create mode 100644 main.m diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..378eac2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build diff --git a/Classes/NSDateCalculationsAppDelegate.h b/Classes/NSDateCalculationsAppDelegate.h new file mode 100644 index 0000000..5c8fbf3 --- /dev/null +++ b/Classes/NSDateCalculationsAppDelegate.h @@ -0,0 +1,22 @@ +// +// NSDateCalculationsAppDelegate.h +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// + +#import + +@class NSDateCalculationsViewController; + +@interface NSDateCalculationsAppDelegate : NSObject { + UIWindow *window; + NSDateCalculationsViewController *viewController; +} + +@property (nonatomic, retain) IBOutlet UIWindow *window; +@property (nonatomic, retain) IBOutlet NSDateCalculationsViewController *viewController; + +@end + diff --git a/Classes/NSDateCalculationsAppDelegate.m b/Classes/NSDateCalculationsAppDelegate.m new file mode 100644 index 0000000..63241f7 --- /dev/null +++ b/Classes/NSDateCalculationsAppDelegate.m @@ -0,0 +1,88 @@ +// +// NSDateCalculationsAppDelegate.m +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// + +#import "NSDateCalculationsAppDelegate.h" +#import "NSDateCalculationsViewController.h" + +@implementation NSDateCalculationsAppDelegate + +@synthesize window; +@synthesize viewController; + + +#pragma mark - +#pragma mark Application lifecycle + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + + // Override point for customization after application launch. + + // Add the view controller's view to the window and display. + [self.window addSubview:viewController.view]; + [self.window makeKeyAndVisible]; + + return YES; +} + + +- (void)applicationWillResignActive:(UIApplication *)application { + /* + Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + */ +} + + +- (void)applicationDidEnterBackground:(UIApplication *)application { + /* + Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + If your application supports background execution, called instead of applicationWillTerminate: when the user quits. + */ +} + + +- (void)applicationWillEnterForeground:(UIApplication *)application { + /* + Called as part of transition from the background to the inactive state: here you can undo many of the changes made on entering the background. + */ +} + + +- (void)applicationDidBecomeActive:(UIApplication *)application { + /* + Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + */ +} + + +- (void)applicationWillTerminate:(UIApplication *)application { + /* + Called when the application is about to terminate. + See also applicationDidEnterBackground:. + */ +} + + +#pragma mark - +#pragma mark Memory management + +- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { + /* + Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later. + */ +} + + +- (void)dealloc { + [viewController release]; + [window release]; + [super dealloc]; +} + + +@end diff --git a/Classes/NSDateCalculationsViewController.h b/Classes/NSDateCalculationsViewController.h new file mode 100644 index 0000000..0073764 --- /dev/null +++ b/Classes/NSDateCalculationsViewController.h @@ -0,0 +1,16 @@ +// +// NSDateCalculationsViewController.h +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// + +#import + +@interface NSDateCalculationsViewController : UIViewController { + +} + +@end + diff --git a/Classes/NSDateCalculationsViewController.m b/Classes/NSDateCalculationsViewController.m new file mode 100644 index 0000000..76cff38 --- /dev/null +++ b/Classes/NSDateCalculationsViewController.m @@ -0,0 +1,66 @@ +// +// NSDateCalculationsViewController.m +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// + +#import "NSDateCalculationsViewController.h" + +@implementation NSDateCalculationsViewController + + + +/* +// The designated initializer. Override to perform setup that is required before the view is loaded. +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} +*/ + +/* +// Implement loadView to create a view hierarchy programmatically, without using a nib. +- (void)loadView { +} +*/ + + +/* +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; +} +*/ + + +/* +// Override to allow orientations other than the default portrait orientation. +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Return YES for supported orientations + return (interfaceOrientation == UIInterfaceOrientationPortrait); +} +*/ + +- (void)didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Release any cached data, images, etc that aren't in use. +} + +- (void)viewDidUnload { + // Release any retained subviews of the main view. + // e.g. self.myOutlet = nil; +} + + +- (void)dealloc { + [super dealloc]; +} + +@end diff --git a/MainWindow.xib b/MainWindow.xib new file mode 100644 index 0000000..dd6278a --- /dev/null +++ b/MainWindow.xib @@ -0,0 +1,444 @@ + + + + 1024 + 10D571 + 786 + 1038.29 + 460.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 112 + + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + IBCocoaTouchFramework + + + NSDateCalculationsViewController + + + 1 + + IBCocoaTouchFramework + NO + + + + 292 + {320, 480} + + 1 + MSAxIDEAA + + NO + NO + + IBCocoaTouchFramework + YES + + + + + YES + + + delegate + + + + 4 + + + + viewController + + + + 11 + + + + window + + + + 14 + + + + + YES + + 0 + + + + + + -1 + + + File's Owner + + + 3 + + + NSDateCalculations App Delegate + + + -2 + + + + + 10 + + + + + 12 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 10.CustomClassName + 10.IBEditorWindowLastContentRect + 10.IBPluginDependency + 12.IBEditorWindowLastContentRect + 12.IBPluginDependency + 3.CustomClassName + 3.IBPluginDependency + + + YES + UIApplication + UIResponder + NSDateCalculationsViewController + {{234, 376}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{525, 346}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + NSDateCalculationsAppDelegate + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 15 + + + + YES + + UIWindow + UIView + + IBUserSource + + + + + NSDateCalculationsAppDelegate + NSObject + + YES + + YES + viewController + window + + + YES + NSDateCalculationsViewController + UIWindow + + + + YES + + YES + viewController + window + + + YES + + viewController + NSDateCalculationsViewController + + + window + UIWindow + + + + + IBProjectSource + Classes/NSDateCalculationsAppDelegate.h + + + + NSDateCalculationsAppDelegate + NSObject + + IBUserSource + + + + + NSDateCalculationsViewController + UIViewController + + IBProjectSource + Classes/NSDateCalculationsViewController.h + + + + + YES + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIAccessibility.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UINibLoading.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIResponder.h + + + + UIApplication + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIApplication.h + + + + UIResponder + NSObject + + + + UISearchBar + UIView + + IBFrameworkSource + UIKit.framework/Headers/UISearchBar.h + + + + UISearchDisplayController + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UISearchDisplayController.h + + + + UIView + + IBFrameworkSource + UIKit.framework/Headers/UITextField.h + + + + UIView + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIView.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UINavigationController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UIPopoverController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UISplitViewController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UITabBarController.h + + + + UIViewController + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIViewController.h + + + + UIWindow + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIWindow.h + + + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + NSDateCalculations.xcodeproj + 3 + 112 + + diff --git a/NSDateCalculations-Info.plist b/NSDateCalculations-Info.plist new file mode 100644 index 0000000..3289444 --- /dev/null +++ b/NSDateCalculations-Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + NSMainNibFile + MainWindow + + diff --git a/NSDateCalculations.xcodeproj/oscar.mode1v3 b/NSDateCalculations.xcodeproj/oscar.mode1v3 new file mode 100644 index 0000000..c5f4824 --- /dev/null +++ b/NSDateCalculations.xcodeproj/oscar.mode1v3 @@ -0,0 +1,1430 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 5507B7C3131A8039001918DB + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 5507B7B1131A7F4F001918DB + 5507B7AA131A7EB1001918DB + 29B97323FDCFA39411CA2CEA + 19C28FACFE9D520D11CA2CBB + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 840}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 858}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 590 179 1146 899 0 0 1920 1178 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + NSDateCalculationsTest.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + NSDateCalculationsTest.m + _historyCapacity + 0 + bookmark + 5507B934131AAB37001918DB + history + + 5507B7BA131A8039001918DB + 5507B806131A8940001918DB + 5507B83A131A8EA4001918DB + 5507B83C131A8EA4001918DB + 5507B844131A8EE3001918DB + 5507B930131AAB37001918DB + 5507B931131AAB37001918DB + 5507B932131AAB37001918DB + 5507B933131AAB37001918DB + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {938, 672}} + RubberWindowFrame + 590 179 1146 899 0 0 1920 1178 + + Module + PBXNavigatorGroup + Proportion + 672pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 677}, {938, 181}} + RubberWindowFrame + 590 179 1146 899 0 0 1920 1178 + + Module + XCDetailModule + Proportion + 181pt + + + Proportion + 938pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 5507B7C1131A8039001918DB + 1CE0B1FE06471DED0097A5F4 + 5507B7C2131A8039001918DB + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 5507B865131A910F001918DB + 1C78EAAD065D492600B07095 + 1CD10A99069EF8BA00B06720 + 5507B7C4131A8039001918DB + /Users/oscar/projects/cocoa/projects/NSDateCalculations/NSDateCalculations.xcodeproj + + WindowString + 590 179 1146 899 0 0 1920 1178 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + NSDateCalculationsTest.m + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {858, 396}} + RubberWindowFrame + 611 324 858 731 0 0 1920 1178 + + Module + PBXNavigatorGroup + Proportion + 396pt + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 401}, {858, 289}} + RubberWindowFrame + 611 324 858 731 0 0 1920 1178 + + Module + PBXBuildResultsModule + Proportion + 289pt + + + Proportion + 690pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 5507B7C4131A8039001918DB + 5507B7C5131A8039001918DB + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 611 324 858 731 0 0 1920 1178 + WindowToolGUID + 5507B7C4131A8039001918DB + WindowToolIsVisible + + + + FirstTimeWindowDisplayed + + Identifier + windowTool.debugger + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {316, 185}} + {{316, 0}, {378, 185}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 185}} + {{0, 185}, {694, 196}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 381}} + PBXDebugSessionStackFrameViewKey + + DebugVariablesTableConfiguration + + Name + 120 + Value + 85 + Summary + 148 + + Frame + {{316, 0}, {378, 185}} + RubberWindowFrame + 611 633 694 422 0 0 1920 1178 + + RubberWindowFrame + 611 633 694 422 0 0 1920 1178 + + Module + PBXDebugSessionModule + Proportion + 381pt + + + Proportion + 381pt + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + + TableOfContents + + 1CD10A99069EF8BA00B06720 + 5507B7C6131A8039001918DB + 1C162984064C10D400B95A72 + 5507B7C7131A8039001918DB + 5507B7C8131A8039001918DB + 5507B7C9131A8039001918DB + 5507B7CA131A8039001918DB + 5507B7CB131A8039001918DB + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 611 633 694 422 0 0 1920 1178 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + FirstTimeWindowDisplayed + + Identifier + windowTool.debuggerConsole + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 209}} + RubberWindowFrame + 611 805 650 250 0 0 1920 1178 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + + TableOfContents + + 1C78EAAD065D492600B07095 + 5507B7CC131A8039001918DB + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 611 805 650 250 0 0 1920 1178 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 5507B864131A910F001918DB + + GeometryConfiguration + + Frame + {{0, 0}, {500, 315}} + RubberWindowFrame + 611 699 500 356 0 0 1920 1178 + + Module + XCRefactoringModule + Proportion + 315pt + + + Proportion + 315pt + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + StatusbarIsVisible + + TableOfContents + + 5507B865131A910F001918DB + 5507B866131A910F001918DB + 5507B864131A910F001918DB + + WindowString + 611 699 500 356 0 0 1920 1178 + WindowToolGUID + 5507B865131A910F001918DB + WindowToolIsVisible + + + + + diff --git a/NSDateCalculations.xcodeproj/oscar.pbxuser b/NSDateCalculations.xcodeproj/oscar.pbxuser new file mode 100644 index 0000000..40d6f14 --- /dev/null +++ b/NSDateCalculations.xcodeproj/oscar.pbxuser @@ -0,0 +1,1507 @@ +// !$*UTF8*$! +{ + 1D3623240D0F684500981E51 /* NSDateCalculationsAppDelegate.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {877, 640}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 538}"; + }; + }; + 1D6058900D05DD3D006BFB54 /* NSDateCalculations */ = { + activeExec = 0; + executables = ( + 5507B717131A7D6D001918DB /* NSDateCalculations */, + ); + }; + 28D7ACF70DDB3853001CB0EB /* NSDateCalculationsViewController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {877, 819}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1250}"; + }; + }; + 29B97313FDCFA39411CA2CEA /* Project object */ = { + activeBuildConfigurationName = Debug; + activeExecutable = 5507B717131A7D6D001918DB /* NSDateCalculations */; + activeSDKPreference = iphonesimulator4.2; + activeTarget = 5507B722131A7DD8001918DB /* Test */; + addToTargets = ( + 5507B722131A7DD8001918DB /* Test */, + ); + codeSenseManager = 5507B71C131A7D8C001918DB /* Code sense */; + executables = ( + 5507B717131A7D6D001918DB /* NSDateCalculations */, + ); + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 699, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 659, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 320503149; + PBXWorkspaceStateSaveDate = 320503149; + }; + perUserProjectItems = { + 5507B7BA131A8039001918DB /* PBXTextBookmark */ = 5507B7BA131A8039001918DB /* PBXTextBookmark */; + 5507B7BC131A8039001918DB /* PBXTextBookmark */ = 5507B7BC131A8039001918DB /* PBXTextBookmark */; + 5507B7BD131A8039001918DB /* PBXTextBookmark */ = 5507B7BD131A8039001918DB /* PBXTextBookmark */; + 5507B7BE131A8039001918DB /* PBXTextBookmark */ = 5507B7BE131A8039001918DB /* PBXTextBookmark */; + 5507B7BF131A8039001918DB /* PBXTextBookmark */ = 5507B7BF131A8039001918DB /* PBXTextBookmark */; + 5507B7C0131A8039001918DB /* PBXTextBookmark */ = 5507B7C0131A8039001918DB /* PBXTextBookmark */; + 5507B7CF131A807D001918DB /* PBXTextBookmark */ = 5507B7CF131A807D001918DB /* PBXTextBookmark */; + 5507B7D0131A807D001918DB /* PBXTextBookmark */ = 5507B7D0131A807D001918DB /* PBXTextBookmark */; + 5507B7D1131A807D001918DB /* PBXTextBookmark */ = 5507B7D1131A807D001918DB /* PBXTextBookmark */; + 5507B7DA131A81EE001918DB /* PBXTextBookmark */ = 5507B7DA131A81EE001918DB /* PBXTextBookmark */; + 5507B7DB131A81EE001918DB /* PBXTextBookmark */ = 5507B7DB131A81EE001918DB /* PBXTextBookmark */; + 5507B7DC131A81EE001918DB /* PBXTextBookmark */ = 5507B7DC131A81EE001918DB /* PBXTextBookmark */; + 5507B7E3131A825C001918DB /* PBXTextBookmark */ = 5507B7E3131A825C001918DB /* PBXTextBookmark */; + 5507B7E6131A8278001918DB /* PBXTextBookmark */ = 5507B7E6131A8278001918DB /* PBXTextBookmark */; + 5507B7EB131A84C7001918DB /* PBXTextBookmark */ = 5507B7EB131A84C7001918DB /* PBXTextBookmark */; + 5507B7EC131A84C7001918DB /* PBXTextBookmark */ = 5507B7EC131A84C7001918DB /* PBXTextBookmark */; + 5507B7ED131A84C7001918DB /* PBXTextBookmark */ = 5507B7ED131A84C7001918DB /* PBXTextBookmark */; + 5507B7EE131A84C7001918DB /* PBXTextBookmark */ = 5507B7EE131A84C7001918DB /* PBXTextBookmark */; + 5507B7F5131A8840001918DB /* XCBuildMessageTextBookmark */ = 5507B7F5131A8840001918DB /* XCBuildMessageTextBookmark */; + 5507B7F6131A8840001918DB /* PBXTextBookmark */ = 5507B7F6131A8840001918DB /* PBXTextBookmark */; + 5507B7FB131A8868001918DB /* PBXTextBookmark */ = 5507B7FB131A8868001918DB /* PBXTextBookmark */; + 5507B7FC131A889D001918DB /* XCBuildMessageTextBookmark */ = 5507B7FC131A889D001918DB /* XCBuildMessageTextBookmark */; + 5507B7FD131A889D001918DB /* PBXTextBookmark */ = 5507B7FD131A889D001918DB /* PBXTextBookmark */; + 5507B806131A8940001918DB /* PBXTextBookmark */ = 5507B806131A8940001918DB /* PBXTextBookmark */; + 5507B808131A8940001918DB /* PBXTextBookmark */ = 5507B808131A8940001918DB /* PBXTextBookmark */; + 5507B809131A8940001918DB /* XCBuildMessageTextBookmark */ = 5507B809131A8940001918DB /* XCBuildMessageTextBookmark */; + 5507B80A131A8940001918DB /* PBXTextBookmark */ = 5507B80A131A8940001918DB /* PBXTextBookmark */; + 5507B80D131A89B8001918DB /* PBXTextBookmark */ = 5507B80D131A89B8001918DB /* PBXTextBookmark */; + 5507B83A131A8EA4001918DB /* PBXTextBookmark */ = 5507B83A131A8EA4001918DB /* PBXTextBookmark */; + 5507B83C131A8EA4001918DB /* PBXTextBookmark */ = 5507B83C131A8EA4001918DB /* PBXTextBookmark */; + 5507B83D131A8EA4001918DB /* PBXTextBookmark */ = 5507B83D131A8EA4001918DB /* PBXTextBookmark */; + 5507B83E131A8EA4001918DB /* PBXTextBookmark */ = 5507B83E131A8EA4001918DB /* PBXTextBookmark */; + 5507B83F131A8EA4001918DB /* PBXTextBookmark */ = 5507B83F131A8EA4001918DB /* PBXTextBookmark */; + 5507B840131A8EA4001918DB /* PBXTextBookmark */ = 5507B840131A8EA4001918DB /* PBXTextBookmark */; + 5507B841131A8EA4001918DB /* PBXTextBookmark */ = 5507B841131A8EA4001918DB /* PBXTextBookmark */; + 5507B844131A8EE3001918DB /* PBXTextBookmark */ = 5507B844131A8EE3001918DB /* PBXTextBookmark */; + 5507B845131A8EE3001918DB /* PBXTextBookmark */ = 5507B845131A8EE3001918DB /* PBXTextBookmark */; + 5507B846131A8EE3001918DB /* PBXTextBookmark */ = 5507B846131A8EE3001918DB /* PBXTextBookmark */; + 5507B847131A8EE3001918DB /* PBXTextBookmark */ = 5507B847131A8EE3001918DB /* PBXTextBookmark */; + 5507B848131A8EE3001918DB /* PBXTextBookmark */ = 5507B848131A8EE3001918DB /* PBXTextBookmark */; + 5507B849131A8EE3001918DB /* PBXTextBookmark */ = 5507B849131A8EE3001918DB /* PBXTextBookmark */; + 5507B84C131A8F1F001918DB /* PBXTextBookmark */ = 5507B84C131A8F1F001918DB /* PBXTextBookmark */; + 5507B84D131A8F1F001918DB /* PBXTextBookmark */ = 5507B84D131A8F1F001918DB /* PBXTextBookmark */; + 5507B84E131A8F1F001918DB /* PBXTextBookmark */ = 5507B84E131A8F1F001918DB /* PBXTextBookmark */; + 5507B84F131A8F1F001918DB /* PBXTextBookmark */ = 5507B84F131A8F1F001918DB /* PBXTextBookmark */; + 5507B854131A8F6E001918DB /* PBXTextBookmark */ = 5507B854131A8F6E001918DB /* PBXTextBookmark */; + 5507B855131A8F6E001918DB /* PBXTextBookmark */ = 5507B855131A8F6E001918DB /* PBXTextBookmark */; + 5507B856131A8F6E001918DB /* PBXTextBookmark */ = 5507B856131A8F6E001918DB /* PBXTextBookmark */; + 5507B857131A8F6E001918DB /* PBXTextBookmark */ = 5507B857131A8F6E001918DB /* PBXTextBookmark */; + 5507B858131A8F7E001918DB /* PBXTextBookmark */ = 5507B858131A8F7E001918DB /* PBXTextBookmark */; + 5507B85B131A8FB0001918DB /* PBXTextBookmark */ = 5507B85B131A8FB0001918DB /* PBXTextBookmark */; + 5507B85C131A8FB0001918DB /* PBXTextBookmark */ = 5507B85C131A8FB0001918DB /* PBXTextBookmark */; + 5507B85D131A8FBE001918DB /* PBXTextBookmark */ = 5507B85D131A8FBE001918DB /* PBXTextBookmark */; + 5507B860131A8FEF001918DB /* PBXTextBookmark */ = 5507B860131A8FEF001918DB /* PBXTextBookmark */; + 5507B861131A8FEF001918DB /* PBXTextBookmark */ = 5507B861131A8FEF001918DB /* PBXTextBookmark */; + 5507B862131A8FEF001918DB /* PBXTextBookmark */ = 5507B862131A8FEF001918DB /* PBXTextBookmark */; + 5507B863131A910F001918DB /* PBXTextBookmark */ = 5507B863131A910F001918DB /* PBXTextBookmark */; + 5507B86C131A911A001918DB /* PBXTextBookmark */ = 5507B86C131A911A001918DB /* PBXTextBookmark */; + 5507B872131A913A001918DB /* PBXTextBookmark */ = 5507B872131A913A001918DB /* PBXTextBookmark */; + 5507B882131A91FC001918DB /* PBXTextBookmark */ = 5507B882131A91FC001918DB /* PBXTextBookmark */; + 5507B89B131A941A001918DB /* PBXTextBookmark */ = 5507B89B131A941A001918DB /* PBXTextBookmark */; + 5507B89C131A941A001918DB /* PBXTextBookmark */ = 5507B89C131A941A001918DB /* PBXTextBookmark */; + 5507B89D131A941A001918DB /* PBXTextBookmark */ = 5507B89D131A941A001918DB /* PBXTextBookmark */; + 5507B89E131A941A001918DB /* PBXTextBookmark */ = 5507B89E131A941A001918DB /* PBXTextBookmark */; + 5507B89F131A941A001918DB /* PBXTextBookmark */ = 5507B89F131A941A001918DB /* PBXTextBookmark */; + 5507B8A0131A9CAB001918DB /* PBXTextBookmark */ = 5507B8A0131A9CAB001918DB /* PBXTextBookmark */; + 5507B8A1131A9CAB001918DB /* PBXTextBookmark */ = 5507B8A1131A9CAB001918DB /* PBXTextBookmark */; + 5507B8A2131A9CAB001918DB /* PBXTextBookmark */ = 5507B8A2131A9CAB001918DB /* PBXTextBookmark */; + 5507B8A3131A9CAB001918DB /* PBXTextBookmark */ = 5507B8A3131A9CAB001918DB /* PBXTextBookmark */; + 5507B8A8131A9D57001918DB /* XCBuildMessageTextBookmark */ = 5507B8A8131A9D57001918DB /* XCBuildMessageTextBookmark */; + 5507B8A9131A9D57001918DB /* PBXTextBookmark */ = 5507B8A9131A9D57001918DB /* PBXTextBookmark */; + 5507B8B2131A9E3A001918DB /* PBXTextBookmark */ = 5507B8B2131A9E3A001918DB /* PBXTextBookmark */; + 5507B8CA131AA010001918DB /* PBXTextBookmark */ = 5507B8CA131AA010001918DB /* PBXTextBookmark */; + 5507B8CB131AA0E6001918DB /* PBXTextBookmark */ = 5507B8CB131AA0E6001918DB /* PBXTextBookmark */; + 5507B8CC131AA0E6001918DB /* PBXTextBookmark */ = 5507B8CC131AA0E6001918DB /* PBXTextBookmark */; + 5507B8CD131AA0E6001918DB /* PBXTextBookmark */ = 5507B8CD131AA0E6001918DB /* PBXTextBookmark */; + 5507B8CE131AA0E6001918DB /* PBXTextBookmark */ = 5507B8CE131AA0E6001918DB /* PBXTextBookmark */; + 5507B8CF131AA0E6001918DB /* PBXTextBookmark */ = 5507B8CF131AA0E6001918DB /* PBXTextBookmark */; + 5507B8D6131AA148001918DB /* PBXTextBookmark */ = 5507B8D6131AA148001918DB /* PBXTextBookmark */; + 5507B8D7131AA148001918DB /* PBXTextBookmark */ = 5507B8D7131AA148001918DB /* PBXTextBookmark */; + 5507B8D8131AA148001918DB /* PBXTextBookmark */ = 5507B8D8131AA148001918DB /* PBXTextBookmark */; + 5507B8D9131AA148001918DB /* PBXTextBookmark */ = 5507B8D9131AA148001918DB /* PBXTextBookmark */; + 5507B8DA131AA148001918DB /* PBXTextBookmark */ = 5507B8DA131AA148001918DB /* PBXTextBookmark */; + 5507B8DF131AA30C001918DB /* PBXTextBookmark */ = 5507B8DF131AA30C001918DB /* PBXTextBookmark */; + 5507B8E0131AA30C001918DB /* PBXTextBookmark */ = 5507B8E0131AA30C001918DB /* PBXTextBookmark */; + 5507B8E1131AA30C001918DB /* PBXTextBookmark */ = 5507B8E1131AA30C001918DB /* PBXTextBookmark */; + 5507B8E2131AA30C001918DB /* PBXTextBookmark */ = 5507B8E2131AA30C001918DB /* PBXTextBookmark */; + 5507B8E3131AA30C001918DB /* PBXTextBookmark */ = 5507B8E3131AA30C001918DB /* PBXTextBookmark */; + 5507B8E4131AA343001918DB /* PBXTextBookmark */ = 5507B8E4131AA343001918DB /* PBXTextBookmark */; + 5507B8E8131AA36D001918DB /* PBXTextBookmark */ = 5507B8E8131AA36D001918DB /* PBXTextBookmark */; + 5507B8E9131AA36D001918DB /* PBXTextBookmark */ = 5507B8E9131AA36D001918DB /* PBXTextBookmark */; + 5507B8EA131AA386001918DB /* PBXTextBookmark */ = 5507B8EA131AA386001918DB /* PBXTextBookmark */; + 5507B8F3131AA49C001918DB /* PBXTextBookmark */ = 5507B8F3131AA49C001918DB /* PBXTextBookmark */; + 5507B8F4131AA49C001918DB /* PBXTextBookmark */ = 5507B8F4131AA49C001918DB /* PBXTextBookmark */; + 5507B8F5131AA49C001918DB /* PBXTextBookmark */ = 5507B8F5131AA49C001918DB /* PBXTextBookmark */; + 5507B8F6131AA49C001918DB /* PBXTextBookmark */ = 5507B8F6131AA49C001918DB /* PBXTextBookmark */; + 5507B8F7131AA49C001918DB /* PBXTextBookmark */ = 5507B8F7131AA49C001918DB /* PBXTextBookmark */; + 5507B8FA131AA560001918DB /* PBXTextBookmark */ = 5507B8FA131AA560001918DB /* PBXTextBookmark */; + 5507B8FB131AA560001918DB /* PBXTextBookmark */ = 5507B8FB131AA560001918DB /* PBXTextBookmark */; + 5507B8FC131AA560001918DB /* PBXTextBookmark */ = 5507B8FC131AA560001918DB /* PBXTextBookmark */; + 5507B8FD131AA6C1001918DB /* PBXTextBookmark */ = 5507B8FD131AA6C1001918DB /* PBXTextBookmark */; + 5507B8FE131AA6C1001918DB /* PBXTextBookmark */ = 5507B8FE131AA6C1001918DB /* PBXTextBookmark */; + 5507B8FF131AA6C1001918DB /* PBXTextBookmark */ = 5507B8FF131AA6C1001918DB /* PBXTextBookmark */; + 5507B900131AA6C1001918DB /* PBXTextBookmark */ = 5507B900131AA6C1001918DB /* PBXTextBookmark */; + 5507B90D131AA733001918DB /* PBXTextBookmark */ = 5507B90D131AA733001918DB /* PBXTextBookmark */; + 5507B90E131AA733001918DB /* PBXTextBookmark */ = 5507B90E131AA733001918DB /* PBXTextBookmark */; + 5507B90F131AA733001918DB /* PBXTextBookmark */ = 5507B90F131AA733001918DB /* PBXTextBookmark */; + 5507B918131AA802001918DB /* PBXTextBookmark */ = 5507B918131AA802001918DB /* PBXTextBookmark */; + 5507B919131AA802001918DB /* PBXTextBookmark */ = 5507B919131AA802001918DB /* PBXTextBookmark */; + 5507B91A131AA802001918DB /* PBXTextBookmark */ = 5507B91A131AA802001918DB /* PBXTextBookmark */; + 5507B927131AAA7F001918DB /* PBXTextBookmark */ = 5507B927131AAA7F001918DB /* PBXTextBookmark */; + 5507B928131AAA7F001918DB /* PBXTextBookmark */ = 5507B928131AAA7F001918DB /* PBXTextBookmark */; + 5507B929131AAA7F001918DB /* PBXTextBookmark */ = 5507B929131AAA7F001918DB /* PBXTextBookmark */; + 5507B92A131AAA7F001918DB /* PBXTextBookmark */ = 5507B92A131AAA7F001918DB /* PBXTextBookmark */; + 5507B92B131AAA7F001918DB /* PBXTextBookmark */ = 5507B92B131AAA7F001918DB /* PBXTextBookmark */; + 5507B930131AAB37001918DB /* PBXTextBookmark */ = 5507B930131AAB37001918DB /* PBXTextBookmark */; + 5507B931131AAB37001918DB /* PBXTextBookmark */ = 5507B931131AAB37001918DB /* PBXTextBookmark */; + 5507B932131AAB37001918DB /* PBXTextBookmark */ = 5507B932131AAB37001918DB /* PBXTextBookmark */; + 5507B933131AAB37001918DB /* PBXTextBookmark */ = 5507B933131AAB37001918DB /* PBXTextBookmark */; + 5507B934131AAB37001918DB /* PBXTextBookmark */ = 5507B934131AAB37001918DB /* PBXTextBookmark */; + }; + sourceControlManager = 5507B71B131A7D8C001918DB /* Source Control */; + userBuildSettings = { + }; + }; + 5507B717131A7D6D001918DB /* NSDateCalculations */ = { + isa = PBXExecutable; + activeArgIndices = ( + ); + argumentStrings = ( + ); + autoAttachOnCrash = 1; + breakpointsEnabled = 0; + configStateDict = { + }; + customDataFormattersEnabled = 1; + dataTipCustomDataFormattersEnabled = 1; + dataTipShowTypeColumn = 1; + dataTipSortType = 0; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + executableSystemSymbolLevel = 0; + executableUserSymbolLevel = 0; + libgmallocEnabled = 0; + name = NSDateCalculations; + showTypeColumn = 0; + sourceDirectories = ( + ); + }; + 5507B71B131A7D8C001918DB /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 5507B71C131A7D8C001918DB /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 5507B722131A7DD8001918DB /* Test */ = { + activeExec = 0; + }; + 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1174, 640}}"; + sepNavSelRange = "{1156, 21}"; + sepNavVisRange = "{0, 1240}"; + }; + }; + 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {877, 2730}}"; + sepNavSelRange = "{4746, 0}"; + sepNavVisRange = "{3966, 1318}"; + }; + }; + 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {877, 640}}"; + sepNavSelRange = "{465, 22}"; + sepNavVisRange = "{0, 515}"; + }; + }; + 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {877, 2704}}"; + sepNavSelRange = "{970, 0}"; + sepNavVisRange = "{3856, 1129}"; + }; + }; + 5507B7BA131A8039001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7BB131A8039001918DB /* NSBundle.h */; + name = "NSBundle.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1617; + vrLoc = 0; + }; + 5507B7BB131A8039001918DB /* NSBundle.h */ = { + isa = PBXFileReference; + name = NSBundle.h; + path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSBundle.h; + sourceTree = ""; + }; + 5507B7BC131A8039001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 18"; + rLen = 0; + rLoc = 703; + rType = 0; + vrLen = 766; + vrLoc = 0; + }; + 5507B7BD131A8039001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 4"; + rLen = 0; + rLoc = 54; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B7BE131A8039001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 56"; + rLen = 0; + rLoc = 2227; + rType = 0; + vrLen = 906; + vrLoc = 1024; + }; + 5507B7BF131A8039001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 12"; + rLen = 0; + rLoc = 241; + rType = 0; + vrLen = 239; + vrLoc = 0; + }; + 5507B7C0131A8039001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 18"; + rLen = 0; + rLoc = 3028; + rType = 0; + vrLen = 239; + vrLoc = 0; + }; + 5507B7CF131A807D001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 24"; + rLen = 0; + rLoc = 978; + rType = 0; + vrLen = 785; + vrLoc = 0; + }; + 5507B7D0131A807D001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 15"; + rLen = 206; + rLoc = 1046; + rType = 0; + vrLen = 258; + vrLoc = 0; + }; + 5507B7D1131A807D001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 17"; + rLen = 0; + rLoc = 1250; + rType = 0; + vrLen = 312; + vrLoc = 0; + }; + 5507B7DA131A81EE001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 24"; + rLen = 0; + rLoc = 978; + rType = 0; + vrLen = 785; + vrLoc = 0; + }; + 5507B7DB131A81EE001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 17"; + rLen = 0; + rLoc = 1250; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 5507B7DC131A81EE001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 21"; + rLen = 0; + rLoc = 3028; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 5507B7E3131A825C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 21"; + rLen = 0; + rLoc = 3028; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 5507B7E6131A8278001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 21"; + rLen = 0; + rLoc = 3028; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 5507B7EB131A84C7001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 57"; + rLen = 0; + rLoc = 2229; + rType = 0; + vrLen = 1398; + vrLoc = 0; + }; + 5507B7EC131A84C7001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 24"; + rLen = 27; + rLoc = 759; + rType = 0; + vrLen = 795; + vrLoc = 0; + }; + 5507B7ED131A84C7001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 10"; + rLen = 0; + rLoc = 219; + rType = 0; + vrLen = 340; + vrLoc = 0; + }; + 5507B7EE131A84C7001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 27"; + rLen = 0; + rLoc = 1250; + rType = 0; + vrLen = 560; + vrLoc = 0; + }; + 5507B7F5131A8840001918DB /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "-[NSDateCalculationsTest testAtBeginningOfDay] : \"[result isEqualToString:expected]\" should be true. fail"; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 51; + rType = 1; + }; + 5507B7F6131A8840001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 45"; + rLen = 0; + rLoc = 1250; + rType = 0; + vrLen = 339; + vrLoc = 675; + }; + 5507B7FB131A8868001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 45"; + rLen = 0; + rLoc = 1250; + rType = 0; + vrLen = 336; + vrLoc = 630; + }; + 5507B7FC131A889D001918DB /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "-[NSDateCalculationsTest testAtBeginningOfDay] : \"[result isEqualToString:expected]\" should be true. fail"; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 51; + rType = 1; + }; + 5507B7FD131A889D001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 45"; + rLen = 0; + rLoc = 1250; + rType = 0; + vrLen = 726; + vrLoc = 299; + }; + 5507B806131A8940001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B807131A8940001918DB /* SenTestCase.h */; + name = "SenTestCase.h: 40"; + rLen = 49; + rLoc = 1933; + rType = 0; + vrLen = 2462; + vrLoc = 658; + }; + 5507B807131A8940001918DB /* SenTestCase.h */ = { + isa = PBXFileReference; + name = SenTestCase.h; + path = /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/Developer/Library/Frameworks/SenTestingKit.framework/Headers/SenTestCase.h; + sourceTree = ""; + }; + 5507B808131A8940001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 57"; + rLen = 0; + rLoc = 2229; + rType = 0; + vrLen = 1398; + vrLoc = 0; + }; + 5507B809131A8940001918DB /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "-[NSDateCalculationsTest testAtBeginningOfDay] : \"[result isEqualToString:expected]\" should be true. fail"; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 51; + rType = 1; + }; + 5507B80A131A8940001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 24"; + rLen = 0; + rLoc = 769; + rType = 0; + vrLen = 1104; + vrLoc = 0; + }; + 5507B80D131A89B8001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 44"; + rLen = 0; + rLoc = 1076; + rType = 0; + vrLen = 1155; + vrLoc = 0; + }; + 5507B83A131A8EA4001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B83B131A8EA4001918DB /* NSTimeZone.h */; + name = "NSTimeZone.h: 29"; + rLen = 0; + rLoc = 822; + rType = 0; + vrLen = 1454; + vrLoc = 0; + }; + 5507B83B131A8EA4001918DB /* NSTimeZone.h */ = { + isa = PBXFileReference; + name = NSTimeZone.h; + path = /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSTimeZone.h; + sourceTree = ""; + }; + 5507B83C131A8EA4001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 28D7ACF70DDB3853001CB0EB /* NSDateCalculationsViewController.m */; + name = "NSDateCalculationsViewController.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1250; + vrLoc = 0; + }; + 5507B83D131A8EA4001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 1D3623240D0F684500981E51 /* NSDateCalculationsAppDelegate.h */; + name = "NSDateCalculationsAppDelegate.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 538; + vrLoc = 0; + }; + 5507B83E131A8EA4001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 23"; + rLen = 0; + rLoc = 758; + rType = 0; + vrLen = 795; + vrLoc = 0; + }; + 5507B83F131A8EA4001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 22"; + rLen = 0; + rLoc = 490; + rType = 0; + vrLen = 1437; + vrLoc = 0; + }; + 5507B840131A8EA4001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 45"; + rLen = 0; + rLoc = 1200; + rType = 0; + vrLen = 1072; + vrLoc = 0; + }; + 5507B841131A8EA4001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 45"; + rLen = 0; + rLoc = 1200; + rType = 0; + vrLen = 1072; + vrLoc = 0; + }; + 5507B844131A8EE3001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 1D3623240D0F684500981E51 /* NSDateCalculationsAppDelegate.h */; + name = "NSDateCalculationsAppDelegate.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 538; + vrLoc = 0; + }; + 5507B845131A8EE3001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 14"; + rLen = 0; + rLoc = 234; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B846131A8EE3001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 14"; + rLen = 0; + rLoc = 279; + rType = 0; + vrLen = 1435; + vrLoc = 0; + }; + 5507B847131A8EE3001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 24"; + rLen = 0; + rLoc = 771; + rType = 0; + vrLen = 793; + vrLoc = 0; + }; + 5507B848131A8EE3001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 42"; + rLen = 0; + rLoc = 1058; + rType = 0; + vrLen = 1070; + vrLoc = 0; + }; + 5507B849131A8EE3001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 44"; + rLen = 0; + rLoc = 1138; + rType = 0; + vrLen = 1068; + vrLoc = 0; + }; + 5507B84C131A8F1F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 25"; + rLen = 0; + rLoc = 787; + rType = 0; + vrLen = 823; + vrLoc = 0; + }; + 5507B84D131A8F1F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 54"; + rLen = 0; + rLoc = 1402; + rType = 0; + vrLen = 1092; + vrLoc = 189; + }; + 5507B84E131A8F1F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 14"; + rLen = 0; + rLoc = 234; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B84F131A8F1F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 15"; + rLen = 0; + rLoc = 369; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B854131A8F6E001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 15"; + rLen = 0; + rLoc = 262; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B855131A8F6E001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 35"; + rLen = 0; + rLoc = 865; + rType = 0; + vrLen = 1408; + vrLoc = 29; + }; + 5507B856131A8F6E001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 45"; + rLen = 0; + rLoc = 1202; + rType = 0; + vrLen = 1092; + vrLoc = 189; + }; + 5507B857131A8F6E001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 25"; + rLen = 0; + rLoc = 787; + rType = 0; + vrLen = 823; + vrLoc = 0; + }; + 5507B858131A8F7E001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 26"; + rLen = 0; + rLoc = 848; + rType = 0; + vrLen = 856; + vrLoc = 0; + }; + 5507B85B131A8FB0001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 26"; + rLen = 32; + rLoc = 817; + rType = 0; + vrLen = 856; + vrLoc = 0; + }; + 5507B85C131A8FB0001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 62"; + rLen = 0; + rLoc = 1673; + rType = 0; + vrLen = 1148; + vrLoc = 345; + }; + 5507B85D131A8FBE001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 62"; + rLen = 1; + rLoc = 1675; + rType = 0; + vrLen = 1150; + vrLoc = 345; + }; + 5507B860131A8FEF001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 62"; + rLen = 0; + rLoc = 1673; + rType = 0; + vrLen = 1150; + vrLoc = 345; + }; + 5507B861131A8FEF001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 16"; + rLen = 30; + rLoc = 279; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B862131A8FEF001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 43"; + rLen = 0; + rLoc = 1699; + rType = 0; + vrLen = 1346; + vrLoc = 29; + }; + 5507B863131A910F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 33"; + rLen = 0; + rLoc = 865; + rType = 0; + vrLen = 1346; + vrLoc = 630; + }; + 5507B86C131A911A001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 20"; + rLen = 0; + rLoc = 490; + rType = 0; + vrLen = 1312; + vrLoc = 147; + }; + 5507B872131A913A001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 47"; + rLen = 0; + rLoc = 1250; + rType = 0; + vrLen = 609; + vrLoc = 399; + }; + 5507B882131A91FC001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 47"; + rLen = 0; + rLoc = 1250; + rType = 0; + vrLen = 715; + vrLoc = 347; + }; + 5507B89B131A941A001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 17"; + rLen = 0; + rLoc = 324; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B89C131A941A001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 66"; + rLen = 0; + rLoc = 1699; + rType = 0; + vrLen = 1345; + vrLoc = 1054; + }; + 5507B89D131A941A001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 32"; + rLen = 27; + rLoc = 949; + rType = 0; + vrLen = 987; + vrLoc = 0; + }; + 5507B89E131A941A001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 95"; + rLen = 0; + rLoc = 2496; + rType = 0; + vrLen = 1364; + vrLoc = 1192; + }; + 5507B89F131A941A001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 105"; + rLen = 0; + rLoc = 2976; + rType = 0; + vrLen = 1262; + vrLoc = 299; + }; + 5507B8A0131A9CAB001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 17"; + rLen = 0; + rLoc = 324; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B8A1131A9CAB001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 66"; + rLen = 0; + rLoc = 1699; + rType = 0; + vrLen = 1345; + vrLoc = 1054; + }; + 5507B8A2131A9CAB001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 105"; + rLen = 0; + rLoc = 2976; + rType = 0; + vrLen = 1262; + vrLoc = 299; + }; + 5507B8A3131A9CAB001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 103"; + rLen = 0; + rLoc = 2913; + rType = 0; + vrLen = 1362; + vrLoc = 1403; + }; + 5507B8A8131A9D57001918DB /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "-[NSDateCalculationsTest testBeginningOfWeek] : '2011 06 23 - 00:00:00' should be equal to '2011 06 19 - 00:00:00'"; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 112; + rType = 1; + }; + 5507B8A9131A9D57001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 105"; + rLen = 0; + rLoc = 2931; + rType = 0; + vrLen = 762; + vrLoc = 2002; + }; + 5507B8B2131A9E3A001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 105"; + rLen = 0; + rLoc = 2931; + rType = 0; + vrLen = 762; + vrLoc = 2002; + }; + 5507B8CA131AA010001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 105"; + rLen = 0; + rLoc = 2931; + rType = 0; + vrLen = 762; + vrLoc = 2002; + }; + 5507B8CB131AA0E6001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 63"; + rLen = 0; + rLoc = 1699; + rType = 0; + vrLen = 1116; + vrLoc = 890; + }; + 5507B8CC131AA0E6001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 17"; + rLen = 0; + rLoc = 310; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B8CD131AA0E6001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 32"; + rLen = 0; + rLoc = 976; + rType = 0; + vrLen = 987; + vrLoc = 0; + }; + 5507B8CE131AA0E6001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 105"; + rLen = 0; + rLoc = 2976; + rType = 0; + vrLen = 1361; + vrLoc = 1403; + }; + 5507B8CF131AA0E6001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 100"; + rLen = 0; + rLoc = 2799; + rType = 0; + vrLen = 1409; + vrLoc = 1355; + }; + 5507B8D6131AA148001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 32"; + rLen = 0; + rLoc = 949; + rType = 0; + vrLen = 987; + vrLoc = 0; + }; + 5507B8D7131AA148001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 19"; + rLen = 0; + rLoc = 368; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B8D8131AA148001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 103"; + rLen = 0; + rLoc = 2915; + rType = 0; + vrLen = 1409; + vrLoc = 1355; + }; + 5507B8D9131AA148001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 75"; + rLen = 0; + rLoc = 2532; + rType = 0; + vrLen = 1202; + vrLoc = 800; + }; + 5507B8DA131AA148001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 75"; + rLen = 0; + rLoc = 2532; + rType = 0; + vrLen = 1202; + vrLoc = 800; + }; + 5507B8DF131AA30C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 17"; + rLen = 27; + rLoc = 311; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B8E0131AA30C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 32"; + rLen = 0; + rLoc = 949; + rType = 0; + vrLen = 987; + vrLoc = 0; + }; + 5507B8E1131AA30C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 117"; + rLen = 0; + rLoc = 3017; + rType = 0; + vrLen = 1288; + vrLoc = 1740; + }; + 5507B8E2131AA30C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 15"; + rLen = 0; + rLoc = 252; + rType = 0; + vrLen = 1380; + vrLoc = 0; + }; + 5507B8E3131AA30C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 97"; + rLen = 0; + rLoc = 2623; + rType = 0; + vrLen = 1146; + vrLoc = 1382; + }; + 5507B8E4131AA343001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B8E5131AA343001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 1"; + rLen = 2528; + rLoc = 0; + rType = 0; + vrLen = 1146; + vrLoc = 1382; + }; + 5507B8E5131AA343001918DB /* NSDate+Calculations.m */ = { + isa = PBXFileReference; + name = "NSDate+Calculations.m"; + path = "/Users/oscar/projects/cocoa/projects/NSDateCalculations/NSDate+Calculations.m"; + sourceTree = ""; + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {877, 1313}}"; + sepNavSelRange = "{0, 2528}"; + sepNavVisRange = "{1382, 1146}"; + }; + }; + 5507B8E8131AA36D001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 97"; + rLen = 0; + rLoc = 2623; + rType = 0; + vrLen = 1148; + vrLoc = 1380; + }; + 5507B8E9131AA36D001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 21"; + rLen = 0; + rLoc = 515; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B8EA131AA386001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 21"; + rLen = 0; + rLoc = 515; + rType = 0; + vrLen = 375; + vrLoc = 0; + }; + 5507B8F3131AA49C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 21"; + rLen = 0; + rLoc = 414; + rType = 0; + vrLen = 422; + vrLoc = 0; + }; + 5507B8F4131AA49C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 107"; + rLen = 0; + rLoc = 2979; + rType = 0; + vrLen = 1334; + vrLoc = 1604; + }; + 5507B8F5131AA49C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 35"; + rLen = 22; + rLoc = 1001; + rType = 0; + vrLen = 1034; + vrLoc = 0; + }; + 5507B8F6131AA49C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 121"; + rLen = 0; + rLoc = 3108; + rType = 0; + vrLen = 1367; + vrLoc = 1848; + }; + 5507B8F7131AA49C001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 132"; + rLen = 0; + rLoc = 3410; + rType = 0; + vrLen = 1179; + vrLoc = 2238; + }; + 5507B8FA131AA560001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 129"; + rLen = 0; + rLoc = 3241; + rType = 0; + vrLen = 1181; + vrLoc = 2238; + }; + 5507B8FB131AA560001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 21"; + rLen = 22; + rLoc = 392; + rType = 0; + vrLen = 422; + vrLoc = 0; + }; + 5507B8FC131AA560001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 118"; + rLen = 0; + rLoc = 5018; + rType = 0; + vrLen = 1138; + vrLoc = 1867; + }; + 5507B8FD131AA6C1001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 23"; + rLen = 18; + rLoc = 489; + rType = 0; + vrLen = 443; + vrLoc = 0; + }; + 5507B8FE131AA6C1001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 123"; + rLen = 7; + rLoc = 5111; + rType = 0; + vrLen = 1165; + vrLoc = 2048; + }; + 5507B8FF131AA6C1001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 37"; + rLen = 51; + rLoc = 1181; + rType = 0; + vrLen = 1087; + vrLoc = 0; + }; + 5507B900131AA6C1001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 152"; + rLen = 0; + rLoc = 5283; + rType = 0; + vrLen = 1158; + vrLoc = 2771; + }; + 5507B90D131AA733001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 152"; + rLen = 0; + rLoc = 5258; + rType = 0; + vrLen = 1080; + vrLoc = 2771; + }; + 5507B90E131AA733001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 123"; + rLen = 7; + rLoc = 5111; + rType = 0; + vrLen = 1167; + vrLoc = 2046; + }; + 5507B90F131AA733001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 123"; + rLen = 7; + rLoc = 5111; + rType = 0; + vrLen = 1166; + vrLoc = 2046; + }; + 5507B918131AA802001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 134"; + rLen = 0; + rLoc = 4854; + rType = 0; + vrLen = 1082; + vrLoc = 2769; + }; + 5507B919131AA802001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 119"; + rLen = 0; + rLoc = 3343; + rType = 0; + vrLen = 1297; + vrLoc = 2102; + }; + 5507B91A131AA802001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 22"; + rLen = 0; + rLoc = 488; + rType = 0; + vrLen = 443; + vrLoc = 0; + }; + 5507B927131AAA7F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 23"; + rLen = 21; + rLoc = 442; + rType = 0; + vrLen = 492; + vrLoc = 0; + }; + 5507B928131AAA7F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 173"; + rLen = 0; + rLoc = 4534; + rType = 0; + vrLen = 923; + vrLoc = 3675; + }; + 5507B929131AAA7F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 38"; + rLen = 21; + rLoc = 1133; + rType = 0; + vrLen = 1217; + vrLoc = 0; + }; + 5507B92A131AAA7F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 157"; + rLen = 0; + rLoc = 4135; + rType = 0; + vrLen = 1415; + vrLoc = 3216; + }; + 5507B92B131AAA7F001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 176"; + rLen = 0; + rLoc = 4655; + rType = 0; + vrLen = 1350; + vrLoc = 3704; + }; + 5507B930131AAB37001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */; + name = "NSDate+Calculations.h: 24"; + rLen = 22; + rLoc = 465; + rType = 0; + vrLen = 515; + vrLoc = 0; + }; + 5507B931131AAB37001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; + name = "NSDate+Calculations.m: 37"; + rLen = 0; + rLoc = 970; + rType = 0; + vrLen = 1129; + vrLoc = 3856; + }; + 5507B932131AAB37001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */; + name = "NSDateCalculationsTest.h: 39"; + rLen = 21; + rLoc = 1156; + rType = 0; + vrLen = 1240; + vrLoc = 0; + }; + 5507B933131AAB37001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 173"; + rLen = 0; + rLoc = 4550; + rType = 0; + vrLen = 1344; + vrLoc = 3704; + }; + 5507B934131AAB37001918DB /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; + name = "NSDateCalculationsTest.m: 181"; + rLen = 0; + rLoc = 4746; + rType = 0; + vrLen = 1318; + vrLoc = 3966; + }; +} diff --git a/NSDateCalculations.xcodeproj/project.pbxproj b/NSDateCalculations.xcodeproj/project.pbxproj new file mode 100755 index 0000000..224af94 --- /dev/null +++ b/NSDateCalculations.xcodeproj/project.pbxproj @@ -0,0 +1,443 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 1D3623260D0F684500981E51 /* NSDateCalculationsAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* NSDateCalculationsAppDelegate.m */; }; + 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; + 2899E5220DE3E06400AC0155 /* NSDateCalculationsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* NSDateCalculationsViewController.xib */; }; + 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; + 28D7ACF80DDB3853001CB0EB /* NSDateCalculationsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* NSDateCalculationsViewController.m */; }; + 5507B794131A7E9D001918DB /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5507B793131A7E9D001918DB /* SenTestingKit.framework */; }; + 5507B7AD131A7EDE001918DB /* NSDateCalculationsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */; }; + 5507B7B4131A7F72001918DB /* NSDate+Calculations.m in Sources */ = {isa = PBXBuildFile; fileRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; }; + 5507B7B5131A7FE7001918DB /* NSDate+Calculations.m in Sources */ = {isa = PBXBuildFile; fileRef = 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 1D3623240D0F684500981E51 /* NSDateCalculationsAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDateCalculationsAppDelegate.h; sourceTree = ""; }; + 1D3623250D0F684500981E51 /* NSDateCalculationsAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDateCalculationsAppDelegate.m; sourceTree = ""; }; + 1D6058910D05DD3D006BFB54 /* NSDateCalculations.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NSDateCalculations.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 2899E5210DE3E06400AC0155 /* NSDateCalculationsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NSDateCalculationsViewController.xib; sourceTree = ""; }; + 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = ""; }; + 28D7ACF60DDB3853001CB0EB /* NSDateCalculationsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDateCalculationsViewController.h; sourceTree = ""; }; + 28D7ACF70DDB3853001CB0EB /* NSDateCalculationsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDateCalculationsViewController.m; sourceTree = ""; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 32CA4F630368D1EE00C91783 /* NSDateCalculations_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDateCalculations_Prefix.pch; sourceTree = ""; }; + 5507B723131A7DD8001918DB /* Test.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Test.octest; sourceTree = BUILT_PRODUCTS_DIR; }; + 5507B724131A7DD8001918DB /* Test-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Test-Info.plist"; sourceTree = ""; }; + 5507B793131A7E9D001918DB /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; + 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDateCalculationsTest.h; sourceTree = ""; }; + 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDateCalculationsTest.m; sourceTree = ""; }; + 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+Calculations.h"; sourceTree = ""; }; + 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+Calculations.m"; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* NSDateCalculations-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NSDateCalculations-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, + 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5507B720131A7DD8001918DB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 5507B794131A7E9D001918DB /* SenTestingKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + 1D3623240D0F684500981E51 /* NSDateCalculationsAppDelegate.h */, + 1D3623250D0F684500981E51 /* NSDateCalculationsAppDelegate.m */, + 28D7ACF60DDB3853001CB0EB /* NSDateCalculationsViewController.h */, + 28D7ACF70DDB3853001CB0EB /* NSDateCalculationsViewController.m */, + ); + path = Classes; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 1D6058910D05DD3D006BFB54 /* NSDateCalculations.app */, + 5507B723131A7DD8001918DB /* Test.octest */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { + isa = PBXGroup; + children = ( + 5507B7B1131A7F4F001918DB /* NSDateCalculations */, + 5507B7AA131A7EB1001918DB /* Test */, + 080E96DDFE201D6D7F000001 /* Classes */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + 5507B724131A7DD8001918DB /* Test-Info.plist */, + ); + name = CustomTemplate; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32CA4F630368D1EE00C91783 /* NSDateCalculations_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 2899E5210DE3E06400AC0155 /* NSDateCalculationsViewController.xib */, + 28AD733E0D9D9553002E5188 /* MainWindow.xib */, + 8D1107310486CEB800E47090 /* NSDateCalculations-Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 5507B793131A7E9D001918DB /* SenTestingKit.framework */, + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, + 1D30AB110D05D00D00671497 /* Foundation.framework */, + 288765A40DF7441C002DB57D /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 5507B7AA131A7EB1001918DB /* Test */ = { + isa = PBXGroup; + children = ( + 5507B7AB131A7EDE001918DB /* NSDateCalculationsTest.h */, + 5507B7AC131A7EDE001918DB /* NSDateCalculationsTest.m */, + ); + path = Test; + sourceTree = ""; + }; + 5507B7B1131A7F4F001918DB /* NSDateCalculations */ = { + isa = PBXGroup; + children = ( + 5507B7B2131A7F72001918DB /* NSDate+Calculations.h */, + 5507B7B3131A7F72001918DB /* NSDate+Calculations.m */, + ); + path = NSDateCalculations; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1D6058900D05DD3D006BFB54 /* NSDateCalculations */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "NSDateCalculations" */; + buildPhases = ( + 1D60588D0D05DD3D006BFB54 /* Resources */, + 1D60588E0D05DD3D006BFB54 /* Sources */, + 1D60588F0D05DD3D006BFB54 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = NSDateCalculations; + productName = NSDateCalculations; + productReference = 1D6058910D05DD3D006BFB54 /* NSDateCalculations.app */; + productType = "com.apple.product-type.application"; + }; + 5507B722131A7DD8001918DB /* Test */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5507B727131A7DD8001918DB /* Build configuration list for PBXNativeTarget "Test" */; + buildPhases = ( + 5507B71E131A7DD8001918DB /* Resources */, + 5507B71F131A7DD8001918DB /* Sources */, + 5507B720131A7DD8001918DB /* Frameworks */, + 5507B721131A7DD8001918DB /* ShellScript */, + 5507B7E2131A825C001918DB /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Test; + productName = Test; + productReference = 5507B723131A7DD8001918DB /* Test.octest */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "NSDateCalculations" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1D6058900D05DD3D006BFB54 /* NSDateCalculations */, + 5507B722131A7DD8001918DB /* Test */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1D60588D0D05DD3D006BFB54 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */, + 2899E5220DE3E06400AC0155 /* NSDateCalculationsViewController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5507B71E131A7DD8001918DB /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 5507B721131A7DD8001918DB /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; + }; + 5507B7E2131A825C001918DB /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\" 1> /tmp/RunUnitTests.out"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1D60588E0D05DD3D006BFB54 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589B0D05DD56006BFB54 /* main.m in Sources */, + 1D3623260D0F684500981E51 /* NSDateCalculationsAppDelegate.m in Sources */, + 28D7ACF80DDB3853001CB0EB /* NSDateCalculationsViewController.m in Sources */, + 5507B7B5131A7FE7001918DB /* NSDate+Calculations.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5507B71F131A7DD8001918DB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5507B7AD131A7EDE001918DB /* NSDateCalculationsTest.m in Sources */, + 5507B7B4131A7F72001918DB /* NSDate+Calculations.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 1D6058940D05DD3E006BFB54 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = NSDateCalculations_Prefix.pch; + INFOPLIST_FILE = "NSDateCalculations-Info.plist"; + PRODUCT_NAME = NSDateCalculations; + }; + name = Debug; + }; + 1D6058950D05DD3E006BFB54 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = NSDateCalculations_Prefix.pch; + INFOPLIST_FILE = "NSDateCalculations-Info.plist"; + PRODUCT_NAME = NSDateCalculations; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 5507B725131A7DD8001918DB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "\"$(SDKROOT)/Developer/Library/Frameworks\"", + "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INFOPLIST_FILE = "Test-Info.plist"; + OTHER_LDFLAGS = ( + "-framework", + Foundation, + "-framework", + SenTestingKit, + "-framework", + UIKit, + ); + PREBINDING = NO; + PRODUCT_NAME = Test; + SDKROOT = iphoneos; + WRAPPER_EXTENSION = octest; + }; + name = Debug; + }; + 5507B726131A7DD8001918DB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ( + "\"$(SDKROOT)/Developer/Library/Frameworks\"", + "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", + ); + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + INFOPLIST_FILE = "Test-Info.plist"; + OTHER_LDFLAGS = ( + "-framework", + Foundation, + "-framework", + SenTestingKit, + "-framework", + UIKit, + ); + PREBINDING = NO; + PRODUCT_NAME = Test; + SDKROOT = iphoneos; + WRAPPER_EXTENSION = octest; + ZERO_LINK = NO; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = iphoneos; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + PREBINDING = NO; + SDKROOT = iphoneos; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "NSDateCalculations" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1D6058940D05DD3E006BFB54 /* Debug */, + 1D6058950D05DD3E006BFB54 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 5507B727131A7DD8001918DB /* Build configuration list for PBXNativeTarget "Test" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5507B725131A7DD8001918DB /* Debug */, + 5507B726131A7DD8001918DB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "NSDateCalculations" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/NSDateCalculations/NSDate+Calculations.h b/NSDateCalculations/NSDate+Calculations.h new file mode 100644 index 0000000..81c54ae --- /dev/null +++ b/NSDateCalculations/NSDate+Calculations.h @@ -0,0 +1,28 @@ +// +// NSDate+Calculations.h +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// + +#import + + +@interface NSDate (Calculations) + +- (NSDate *)beginningOfDay; +- (NSDate *)beginningOfMonth; +- (NSDate *)beginningOfQuarter; +- (NSDate *)beginningOfWeek; +- (NSDate *)beginningOfYear; + +- (NSDate *)endOfDay; +- (NSDate *)endOfMonth; +- (NSDate *)endOfQuarter; +- (NSDate *)endOfWeek; +- (NSDate *)endOfYear; + +- (int)daysInMonth; + +@end diff --git a/NSDateCalculations/NSDate+Calculations.m b/NSDateCalculations/NSDate+Calculations.m new file mode 100644 index 0000000..b2f4539 --- /dev/null +++ b/NSDateCalculations/NSDate+Calculations.m @@ -0,0 +1,208 @@ +// +// NSDate+Calculations.m +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// + +#import "NSDate+Calculations.h" + + +@implementation NSDate (Calculations) + +#pragma mark - +#pragma mark Beginning of + +- (NSDate *)beginningOfDay +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + [comps setHour:0]; + [comps setMinute:0]; + [comps setSecond:0]; + + return [currentCalendar dateFromComponents:comps]; +} + +- (NSDate *)beginningOfMonth +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit | NSMonthCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + [comps setDay:1]; + [comps setHour:0]; + [comps setMinute:00]; + [comps setSecond:00]; + + return [currentCalendar dateFromComponents:comps]; +} + +// 1st of january, april, july, october +- (NSDate *)beginningOfQuarter +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit | NSMonthCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + int month = [comps month]; + + if (month < 4) + [comps setMonth:1]; + else if (month < 7) + [comps setMonth:4]; + else if (month < 10) + [comps setMonth:7]; + else + [comps setMonth:10]; + + [comps setDay:1]; + [comps setHour:0]; + [comps setMinute:00]; + [comps setSecond:00]; + + return [currentCalendar dateFromComponents:comps]; +} + +// Week starts on sunday for the gregorian calendar +- (NSDate *)beginningOfWeek +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + [comps setWeekday:1]; + [comps setHour:0]; + [comps setMinute:0]; + [comps setSecond:0]; + + return [currentCalendar dateFromComponents:comps]; +} + +- (NSDate *)beginningOfYear +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + [comps setMonth:1]; + [comps setDay:1]; + [comps setHour:0]; + [comps setMinute:0]; + [comps setSecond:0]; + + return [currentCalendar dateFromComponents:comps]; +} + +#pragma mark - +#pragma mark End of + +- (NSDate *)endOfDay +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + [comps setHour:23]; + [comps setMinute:59]; + [comps setSecond:59]; + + return [currentCalendar dateFromComponents:comps]; +} + +- (NSDate *)endOfMonth +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit | NSMonthCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + [comps setDay:[self daysInMonth]]; + [comps setHour:23]; + [comps setMinute:59]; + [comps setSecond:59]; + + return [currentCalendar dateFromComponents:comps]; +} + +// 1st of january, april, july, october +- (NSDate *)endOfQuarter +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit | NSMonthCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + int month = [comps month]; + + if (month < 4) + { + [comps setMonth:3]; + [comps setDay:31]; + } + else if (month < 7) + { + [comps setMonth:6]; + [comps setDay:30]; + } + else if (month < 10) + { + [comps setMonth:9]; + [comps setDay:30]; + } + else + { + [comps setMonth:12]; + [comps setDay:31]; + } + + [comps setHour:23]; + [comps setMinute:59]; + [comps setSecond:59]; + + return [currentCalendar dateFromComponents:comps]; +} + +- (NSDate *)endOfWeek +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + [comps setWeekday:7]; + [comps setHour:23]; + [comps setMinute:59]; + [comps setSecond:59]; + + return [currentCalendar dateFromComponents:comps]; +} + +- (NSDate *)endOfYear +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + int calendarComponents = (NSYearCalendarUnit); + NSDateComponents *comps = [currentCalendar components:calendarComponents fromDate:self]; + + [comps setMonth:12]; + [comps setDay:31]; + [comps setHour:23]; + [comps setMinute:59]; + [comps setSecond:59]; + + return [currentCalendar dateFromComponents:comps]; +} + +#pragma mark - +#pragma mark Days in month + +- (int)daysInMonth +{ + NSCalendar *currentCalendar = [NSCalendar currentCalendar]; + NSRange days = [currentCalendar rangeOfUnit:NSDayCalendarUnit + inUnit:NSMonthCalendarUnit + forDate:self]; + return days.length; +} + +@end diff --git a/NSDateCalculationsViewController.xib b/NSDateCalculationsViewController.xib new file mode 100644 index 0000000..10556a2 --- /dev/null +++ b/NSDateCalculationsViewController.xib @@ -0,0 +1,156 @@ + + + + 800 + 10C540 + 759 + 1038.25 + 458.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 77 + + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {320, 460} + + + 3 + MC43NQA + + 2 + + + NO + + IBCocoaTouchFramework + + + + + YES + + + view + + + + 7 + + + + + YES + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 6 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 6.IBEditorWindowLastContentRect + 6.IBPluginDependency + + + YES + NSDateCalculationsViewController + UIResponder + {{239, 654}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 7 + + + + YES + + NSDateCalculationsViewController + UIViewController + + IBProjectSource + Classes/NSDateCalculationsViewController.h + + + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + NSDateCalculations.xcodeproj + 3 + 77 + + + diff --git a/NSDateCalculations_Prefix.pch b/NSDateCalculations_Prefix.pch new file mode 100644 index 0000000..fa760cc --- /dev/null +++ b/NSDateCalculations_Prefix.pch @@ -0,0 +1,8 @@ +// +// Prefix header for all source files of the 'NSDateCalculations' target in the 'NSDateCalculations' project +// + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Readme b/Readme new file mode 100644 index 0000000..641c703 --- /dev/null +++ b/Readme @@ -0,0 +1,23 @@ +== NSDateCalculations + +The goal to this library is to provide an easy interface for doing calculations with dates in Objective C (mac + iphone). + +To use, simply drop the NSDateCalculations folder inside your project and require "NSDate+Calculations.h". + +Currently implemented methods: + +- (NSDate *)beginningOfDay; +- (NSDate *)beginningOfMonth; +- (NSDate *)beginningOfQuarter; +- (NSDate *)beginningOfWeek; +- (NSDate *)beginningOfYear; + +- (NSDate *)endOfDay; +- (NSDate *)endOfMonth; +- (NSDate *)endOfQuarter; +- (NSDate *)endOfWeek; +- (NSDate *)endOfYear; + +- (int)daysInMonth; + +More documentation coming soon as the project evolves \ No newline at end of file diff --git a/Test-Info.plist b/Test-Info.plist new file mode 100644 index 0000000..94eb7f4 --- /dev/null +++ b/Test-Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + + diff --git a/Test/NSDateCalculationsTest.h b/Test/NSDateCalculationsTest.h new file mode 100644 index 0000000..8e9365d --- /dev/null +++ b/Test/NSDateCalculationsTest.h @@ -0,0 +1,46 @@ +// +// NSDateCalculationsTest.h +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// +// See Also: http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html + +// Application unit tests contain unit test code that must be injected into an application to run correctly. +// Define USE_APPLICATION_UNIT_TEST to 0 if the unit test code is designed to be linked into an independent test executable. + +#define USE_APPLICATION_UNIT_TEST 1 + +#import +#import +//#import "application_headers" as required + + +@interface NSDateCalculationsTest : SenTestCase { + +} + +- (void)testBeginningOfDay; +- (void)testBeginningOfMonth; +- (void)testBeginningOfQuarter1; +- (void)testBeginningOfQuarter2; +- (void)testBeginningOfQuarter3; +- (void)testBeginningOfQuarter4; +- (void)testBeginningOfYear; + +- (void)testEndOfDay; +- (void)testEndOfMonth; +- (void)testEndOfQuarter1; +- (void)testEndOfQuarter2; +- (void)testEndOfQuarter3; +- (void)testEndOfQuarter4; +- (void)testEndOfWeek; +- (void)testEndOfYear; + + +- (void)testDaysInMonth1; +- (void)testDaysInMonth2; + + +@end diff --git a/Test/NSDateCalculationsTest.m b/Test/NSDateCalculationsTest.m new file mode 100644 index 0000000..e94d392 --- /dev/null +++ b/Test/NSDateCalculationsTest.m @@ -0,0 +1,207 @@ +// +// NSDateCalculationsTest.m +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// + +#import "NSDateCalculationsTest.h" +#import "NSDate+Calculations.h" + +@implementation NSDateCalculationsTest + +#pragma mark - +#pragma mark Helpers + +- (NSDate *)createDate:(int)year month:(int)month day:(int)day hour:(int)hour minute:(int)minute +{ + NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease]; + [comps setYear:year]; + [comps setMonth:month]; + [comps setDay:day]; + [comps setHour:hour]; + [comps setMinute:minute]; + + return [[NSCalendar currentCalendar] dateFromComponents:comps]; +} + +// 2011 06 23 - 10:15 +- (NSDate *)defaultDate +{ + return [self createDate:2011 month:6 day:23 hour:10 minute:15]; +} + +- (NSString *)formattedDate:(NSDate *)date +{ + NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; + + [formatter setDateFormat:@"yyyy MM dd - HH:mm:ss"]; + + return [formatter stringFromDate:date]; +} + +#pragma mark - +#pragma mark Tests Beginning of + +- (void)testBeginningOfDay; +{ + NSString *result = [self formattedDate:[[self defaultDate] beginningOfDay]]; + NSString *expected = @"2011 06 23 - 00:00:00"; + + STAssertEqualObjects(result, expected, @""); +} + + +- (void)testBeginningOfMonth; +{ + NSString *result = [self formattedDate:[[self defaultDate] beginningOfMonth]]; + NSString *expected = @"2011 06 01 - 00:00:00"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testBeginningOfQuarter1 +{ + NSDate *date = [self createDate:2011 month:2 day:14 hour:13 minute:12]; + NSString *result = [self formattedDate:[date beginningOfQuarter]]; + NSString *expected = @"2011 01 01 - 00:00:00"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testBeginningOfQuarter2 +{ + NSDate *date = [self createDate:2011 month:5 day:14 hour:13 minute:12]; + NSString *result = [self formattedDate:[date beginningOfQuarter]]; + NSString *expected = @"2011 04 01 - 00:00:00"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testBeginningOfQuarter3 +{ + NSDate *date = [self createDate:2011 month:9 day:14 hour:13 minute:12]; + NSString *result = [self formattedDate:[date beginningOfQuarter]]; + NSString *expected = @"2011 07 01 - 00:00:00"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testBeginningOfQuarter4 +{ + NSDate *date = [self createDate:2011 month:12 day:14 hour:13 minute:12]; + NSString *result = [self formattedDate:[date beginningOfQuarter]]; + NSString *expected = @"2011 10 01 - 00:00:00"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testBeginningOfWeek +{ + NSString *result = [self formattedDate:[[self defaultDate] beginningOfWeek]]; + NSString *expected = @"2011 06 19 - 00:00:00"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testBeginningOfYear +{ + NSString *result = [self formattedDate:[[self defaultDate] beginningOfYear]]; + NSString *expected = @"2011 01 01 - 00:00:00"; + + STAssertEqualObjects(result, expected, @""); +} + +#pragma mark - +#pragma mark Tests End of + +- (void)testEndOfDay +{ + NSString *result = [self formattedDate:[[self defaultDate] endOfDay]]; + NSString *expected = @"2011 06 23 - 23:59:59"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testEndOfMonth +{ + NSString *result = [self formattedDate:[[self defaultDate] endOfMonth]]; + NSString *expected = @"2011 06 30 - 23:59:59"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testEndOfQuarter1 +{ + NSDate *date = [self createDate:2011 month:2 day:14 hour:13 minute:12]; + NSString *result = [self formattedDate:[date endOfQuarter]]; + NSString *expected = @"2011 03 31 - 23:59:59"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testEndOfQuarter2 +{ + NSDate *date = [self createDate:2011 month:5 day:14 hour:13 minute:12]; + NSString *result = [self formattedDate:[date endOfQuarter]]; + NSString *expected = @"2011 06 30 - 23:59:59"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testEndOfQuarter3 +{ + NSDate *date = [self createDate:2011 month:9 day:14 hour:13 minute:12]; + NSString *result = [self formattedDate:[date endOfQuarter]]; + NSString *expected = @"2011 09 30 - 23:59:59"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testEndOfQuarter4 +{ + NSDate *date = [self createDate:2011 month:12 day:14 hour:13 minute:12]; + NSString *result = [self formattedDate:[date endOfQuarter]]; + NSString *expected = @"2011 12 31 - 23:59:59"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testEndOfWeek +{ + NSString *result = [self formattedDate:[[self defaultDate] endOfWeek]]; + NSString *expected = @"2011 06 25 - 23:59:59"; + + STAssertEqualObjects(result, expected, @""); +} + +- (void)testEndOfYear +{ + NSString *result = [self formattedDate:[[self defaultDate] endOfYear]]; + NSString *expected = @"2011 12 31 - 23:59:59"; + + STAssertEqualObjects(result, expected, @""); +} + +#pragma mark Tests Days in month + +- (void)testDaysInMonth1 +{ + NSDate *date = [self createDate:2011 month:8 day:14 hour:13 minute:12]; + int result = [date daysInMonth]; + int expected = 31; + + STAssertEquals(result, expected, @""); +} + +- (void)testDaysInMonth2 +{ + NSDate *date = [self createDate:2011 month:6 day:14 hour:13 minute:12]; + int result = [date daysInMonth]; + int expected = 30; + + STAssertEquals(result, expected, @""); +} + +@end diff --git a/main.m b/main.m new file mode 100644 index 0000000..d1bc0cc --- /dev/null +++ b/main.m @@ -0,0 +1,17 @@ +// +// main.m +// NSDateCalculations +// +// Created by Oscar Del Ben on 2/27/11. +// Copyright 2011 DibiStore. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) { + + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + int retVal = UIApplicationMain(argc, argv, nil, nil); + [pool release]; + return retVal; +}