diff options
Diffstat (limited to 'Framework/MASDictionaryTransformerTests.m')
| -rw-r--r-- | Framework/MASDictionaryTransformerTests.m | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Framework/MASDictionaryTransformerTests.m b/Framework/MASDictionaryTransformerTests.m new file mode 100644 index 0000000..48e11f3 --- /dev/null +++ b/Framework/MASDictionaryTransformerTests.m @@ -0,0 +1,32 @@ +@interface MASDictionaryTransformerTests : XCTestCase +@end + +@implementation MASDictionaryTransformerTests + +- (void) testErrorHandling +{ + MASDictionaryTransformer *transformer = [MASDictionaryTransformer new]; + XCTAssertNil([transformer transformedValue:nil], + @"Decoding a shortcut from a nil dictionary returns nil."); + XCTAssertNil([transformer transformedValue:(id)@"foo"], + @"Decoding a shortcut from a invalid-type dictionary returns nil."); + XCTAssertNil([transformer transformedValue:@{}], + @"Decoding a shortcut from an empty dictionary returns nil."); + XCTAssertNil([transformer transformedValue:@{@"keyCode":@"foo"}], + @"Decoding a shortcut from a wrong-typed dictionary returns nil."); + XCTAssertNil([transformer transformedValue:@{@"keyCode":@1}], + @"Decoding a shortcut from an incomplete dictionary returns nil."); + XCTAssertNil([transformer transformedValue:@{@"modifierFlags":@1}], + @"Decoding a shortcut from an incomplete dictionary returns nil."); +} + +- (void) testNilRepresentation +{ + MASDictionaryTransformer *transformer = [MASDictionaryTransformer new]; + XCTAssertEqualObjects([transformer reverseTransformedValue:nil], [NSDictionary dictionary], + @"Store nil values as an empty dictionary."); + XCTAssertNil([transformer transformedValue:[NSDictionary dictionary]], + @"Load empty dictionary as nil."); +} + +@end |
