mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-03 22:49:50 +08:00
109 lines
4.4 KiB
Objective-C
109 lines
4.4 KiB
Objective-C
//
|
|
// RKTableViewSectionTest.m
|
|
// RestKit
|
|
//
|
|
// Created by Blake Watters on 8/3/11.
|
|
// Copyright (c) 2009-2012 RestKit. All rights reserved.
|
|
//
|
|
|
|
#import "RKTestEnvironment.h"
|
|
#import "RKTableSection.h"
|
|
#import "RKTableViewCellMappings.h"
|
|
#import "RKTableViewCellMapping.h"
|
|
#import "RKTableController.h"
|
|
|
|
@interface RKTableViewSectionTest : RKTestCase
|
|
|
|
@end
|
|
|
|
@implementation RKTableViewSectionTest
|
|
|
|
- (void)testInitializeASection
|
|
{
|
|
RKTableSection *section = [RKTableSection section];
|
|
assertThat(section.objects, is(notNilValue()));
|
|
assertThat(section.objects, is(empty()));
|
|
assertThat(section.cellMappings, is(nilValue()));
|
|
}
|
|
|
|
- (void)testInitializeASectionWithObjectsAndMappings
|
|
{
|
|
NSArray *objects = [NSArray array];
|
|
RKTableViewCellMappings *mappings = [RKTableViewCellMappings new];
|
|
RKTableSection *section = [RKTableSection sectionForObjects:objects withMappings:mappings];
|
|
assertThat(section.objects, is(notNilValue()));
|
|
assertThat(section.cellMappings, isNot(nilValue()));
|
|
assertThat(section.objects, is(equalTo(objects)));
|
|
assertThat(section.cellMappings, is(equalTo(mappings)));
|
|
}
|
|
|
|
- (void)testMakeAMutableCopyOfTheObjectsItIsInitializedWith
|
|
{
|
|
NSArray *objects = [NSArray array];
|
|
RKTableViewCellMappings *mappings = [RKTableViewCellMappings new];
|
|
RKTableSection *section = [RKTableSection sectionForObjects:objects withMappings:mappings];
|
|
assertThat(section.objects, is(instanceOf([NSMutableArray class])));
|
|
}
|
|
|
|
- (void)testReturnTheNumberOfRowsInTheSection
|
|
{
|
|
NSArray *objects = [NSArray arrayWithObject:@"first object"];
|
|
RKTableViewCellMappings *mappings = [RKTableViewCellMappings new];
|
|
RKTableSection *section = [RKTableSection sectionForObjects:objects withMappings:mappings];
|
|
assertThatInt(section.rowCount, is(equalToInt(1)));
|
|
}
|
|
|
|
- (void)testReturnTheObjectAtAGivenIndex
|
|
{
|
|
NSArray *objects = [NSArray arrayWithObject:@"first object"];
|
|
RKTableViewCellMappings *mappings = [RKTableViewCellMappings new];
|
|
RKTableSection *section = [RKTableSection sectionForObjects:objects withMappings:mappings];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"first object")));
|
|
}
|
|
|
|
- (void)testInsertTheObjectAtAGivenIndex
|
|
{
|
|
NSArray *objects = [NSArray arrayWithObject:@"first object"];
|
|
RKTableViewCellMappings *mappings = [RKTableViewCellMappings new];
|
|
RKTableSection *section = [RKTableSection sectionForObjects:objects withMappings:mappings];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"first object")));
|
|
[section insertObject:@"inserted object" atIndex:0];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"inserted object")));
|
|
}
|
|
|
|
- (void)testRemoveTheObjectAtAGivenIndex
|
|
{
|
|
NSArray *objects = [NSArray arrayWithObjects:@"first object", @"second object", nil];
|
|
RKTableViewCellMappings *mappings = [RKTableViewCellMappings new];
|
|
RKTableSection *section = [RKTableSection sectionForObjects:objects withMappings:mappings];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"first object")));
|
|
assertThat([section objectAtIndex:1], is(equalTo(@"second object")));
|
|
[section removeObjectAtIndex:0];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"second object")));
|
|
}
|
|
|
|
- (void)testReplaceTheObjectAtAGivenIndex
|
|
{
|
|
NSArray *objects = [NSArray arrayWithObjects:@"first object", @"second object", nil];
|
|
RKTableViewCellMappings *mappings = [RKTableViewCellMappings new];
|
|
RKTableSection *section = [RKTableSection sectionForObjects:objects withMappings:mappings];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"first object")));
|
|
assertThat([section objectAtIndex:1], is(equalTo(@"second object")));
|
|
[section replaceObjectAtIndex:0 withObject:@"new first object"];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"new first object")));
|
|
}
|
|
|
|
- (void)testMoveTheObjectAtAGivenIndex
|
|
{
|
|
NSArray *objects = [NSArray arrayWithObjects:@"first object", @"second object", nil];
|
|
RKTableViewCellMappings *mappings = [RKTableViewCellMappings new];
|
|
RKTableSection *section = [RKTableSection sectionForObjects:objects withMappings:mappings];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"first object")));
|
|
assertThat([section objectAtIndex:1], is(equalTo(@"second object")));
|
|
[section moveObjectAtIndex:1 toIndex:0];
|
|
assertThat([section objectAtIndex:0], is(equalTo(@"second object")));
|
|
assertThat([section objectAtIndex:1], is(equalTo(@"first object")));
|
|
}
|
|
|
|
@end
|