-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathGeniusDocumentFileTest.m
More file actions
77 lines (57 loc) · 2.81 KB
/
GeniusDocumentFileTest.m
File metadata and controls
77 lines (57 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//
// GeniusDocumentFileTest.m
// Genius
//
// Created by Chris Miner on 13.11.07.
// Copyright 2007-2008 Chris Miner. All rights reserved.
//
#import "GeniusDocument.h"
#import "GeniusPair.h"
#import <SenTestingKit/SenTestingKit.h>
@interface GeniusDocumentFileTest : SenTestCase
{
}
@end
//! test cases for the GeniusDocument
@implementation GeniusDocumentFileTest
//! test creating a document works.
- (void) testOpenNewDocument
{
NSError *error;
NSDocumentController *documentController = [NSDocumentController sharedDocumentController];
GeniusDocument *document = [documentController openUntitledDocumentAndDisplay:YES error:&error];
STAssertNotNil(document, nil);
}
//! loads up preconfigured doc and checks that all is in order.
- (void) testDataRepresentation
{
NSData *data = [NSData dataWithContentsOfFile:[[NSBundle bundleForClass:[self class]] pathForResource:@"TestFile1" ofType:@"genius"]];
NSError *error;
NSDocumentController *documentController = [NSDocumentController sharedDocumentController];
GeniusDocument *document = (GeniusDocument*)[documentController openUntitledDocumentAndDisplay:YES error:&error];
[document loadDataRepresentation:data ofType:@"Genius Documnent"];
STAssertNil([document valueForKeyPath:@"_cumulativeStudyTime"], nil);
STAssertEqualObjects([document valueForKeyPath:@"probabilityCenter"], [NSNumber numberWithFloat:50.0F], nil);
NSDictionary * headers = [document valueForKey:@"columnHeadersDict"];
STAssertEquals([headers count], 2U, nil);
NSArray *pairs = [document pairs];
STAssertEquals([pairs count], 1U, nil);
GeniusPair *pair = [pairs objectAtIndex:0];
STAssertEqualObjects([pair valueForKeyPath:@"itemA.stringValue"], @"Test Question", nil);
STAssertEqualObjects([pair valueForKeyPath:@"itemB.stringValue"], @"Test Answer", nil);
STAssertEqualObjects([pair valueForKeyPath:@"customGroupString"], @"Test Group", nil);
STAssertEqualObjects([pair valueForKeyPath:@"customTypeString"], @"Test Type", nil);
STAssertEqualObjects([pair valueForKeyPath:@"notesString"], @"Test Notes", nil);
}
//! Loads up preconfigure test file and saves, compares output file and input file.
-(void) testLoadAndSave
{
NSData *data = [NSData dataWithContentsOfFile:[[NSBundle bundleForClass:[self class]] pathForResource:@"TestFile1" ofType:@"genius"]];
NSError *error;
NSDocumentController *documentController = [NSDocumentController sharedDocumentController];
GeniusDocument *document = (GeniusDocument*)[documentController openUntitledDocumentAndDisplay:YES error:&error];
[document loadDataRepresentation:data ofType:@"Genius Documnent"];
NSData *newData = [document dataRepresentationOfType:@"Genius Document"];
STAssertTrue([newData isEqualToData:data], nil);
}
@end