mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-02 22:42:45 +08:00
61 lines
2.6 KiB
Objective-C
61 lines
2.6 KiB
Objective-C
//
|
|
// RKFetchRequestMappingTest.m
|
|
// RestKit
|
|
//
|
|
// Created by Blake Watters on 3/20/12.
|
|
// Copyright (c) 2009-2012 RestKit. All rights reserved.
|
|
//
|
|
|
|
#import "RKTestEnvironment.h"
|
|
#import "RKCat.h"
|
|
#import "RKEvent.h"
|
|
|
|
@interface RKFetchRequestMappingCacheTest : RKTestCase
|
|
|
|
@end
|
|
|
|
@implementation RKFetchRequestMappingCacheTest
|
|
|
|
- (void)testFetchRequestMappingCacheReturnsObjectsWithNumericPrimaryKey
|
|
{
|
|
// RKCat entity. Integer prinmary key.
|
|
RKManagedObjectStore *objectStore = [RKTestFactory managedObjectStore];
|
|
RKFetchRequestManagedObjectCache *cache = [RKFetchRequestManagedObjectCache new];
|
|
NSEntityDescription *entity = [RKCat entityDescription];
|
|
RKManagedObjectMapping *mapping = [RKManagedObjectMapping mappingForClass:[RKCat class] inManagedObjectStore:objectStore];
|
|
mapping.primaryKeyAttribute = @"railsID";
|
|
|
|
RKCat *reginald = [RKCat createInContext:objectStore.primaryManagedObjectContext];
|
|
reginald.name = @"Reginald";
|
|
reginald.railsID = [NSNumber numberWithInt:123456];
|
|
[objectStore.primaryManagedObjectContext save:nil];
|
|
|
|
NSManagedObject *cachedObject = [cache findInstanceOfEntity:entity
|
|
withPrimaryKeyAttribute:mapping.primaryKeyAttribute
|
|
value:[NSNumber numberWithInt:123456]
|
|
inManagedObjectContext:objectStore.primaryManagedObjectContext];
|
|
assertThat(cachedObject, is(equalTo(reginald)));
|
|
}
|
|
|
|
- (void)testFetchRequestMappingCacheReturnsObjectsWithStringPrimaryKey
|
|
{
|
|
// RKEvent entity. String primary key
|
|
RKManagedObjectStore *objectStore = [RKTestFactory managedObjectStore];
|
|
RKFetchRequestManagedObjectCache *cache = [RKFetchRequestManagedObjectCache new];
|
|
NSEntityDescription *entity = [RKEvent entityDescription];
|
|
RKManagedObjectMapping *mapping = [RKManagedObjectMapping mappingForClass:[RKEvent class] inManagedObjectStore:objectStore];
|
|
mapping.primaryKeyAttribute = @"eventID";
|
|
|
|
RKEvent *birthday = [RKEvent createInContext:objectStore.primaryManagedObjectContext];
|
|
birthday.eventID = @"e-1234-a8-b12";
|
|
[objectStore.primaryManagedObjectContext save:nil];
|
|
|
|
NSManagedObject *cachedObject = [cache findInstanceOfEntity:entity
|
|
withPrimaryKeyAttribute:mapping.primaryKeyAttribute
|
|
value:@"e-1234-a8-b12"
|
|
inManagedObjectContext:objectStore.primaryManagedObjectContext];
|
|
assertThat(cachedObject, is(equalTo(birthday)));
|
|
}
|
|
|
|
@end
|