diff options
author | Joel Fischer <joeljfischer@gmail.com> | 2016-05-25 08:44:23 -0400 |
---|---|---|
committer | Joel Fischer <joeljfischer@gmail.com> | 2016-05-25 08:44:23 -0400 |
commit | fb8e9903a323acaf5fc78819bb3c203567542ab2 (patch) | |
tree | e40665103ac7db492e0a40e34cd92f3390defa55 /SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m | |
parent | f7540a02262832e34c67b0953dd8a1804a046fea (diff) | |
download | sdl_ios-fb8e9903a323acaf5fc78819bb3c203567542ab2.tar.gz |
Shift files into root directory
Diffstat (limited to 'SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m')
-rw-r--r-- | SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m new file mode 100644 index 000000000..3ca864595 --- /dev/null +++ b/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m @@ -0,0 +1,59 @@ +// +// SDLPermissionStatusSpec.m +// SmartDeviceLink + + +#import <Foundation/Foundation.h> + +#import <Quick/Quick.h> +#import <Nimble/Nimble.h> + +#import "SDLPermissionStatus.h" + +QuickSpecBegin(SDLPermissionStatusSpec) + +describe(@"Individual Enum Value Tests", ^ { + it(@"Should match internal values", ^ { + expect([SDLPermissionStatus ALLOWED].value).to(equal(@"ALLOWED")); + expect([SDLPermissionStatus DISALLOWED].value).to(equal(@"DISALLOWED")); + expect([SDLPermissionStatus USER_DISALLOWED].value).to(equal(@"USER_DISALLOWED")); + expect([SDLPermissionStatus USER_CONSENT_PENDING].value).to(equal(@"USER_CONSENT_PENDING")); + }); +}); +describe(@"ValueOf Tests", ^ { + it(@"Should return correct values when valid", ^ { + expect([SDLPermissionStatus valueOf:@"ALLOWED"]).to(equal([SDLPermissionStatus ALLOWED])); + expect([SDLPermissionStatus valueOf:@"DISALLOWED"]).to(equal([SDLPermissionStatus DISALLOWED])); + expect([SDLPermissionStatus valueOf:@"USER_DISALLOWED"]).to(equal([SDLPermissionStatus USER_DISALLOWED])); + expect([SDLPermissionStatus valueOf:@"USER_CONSENT_PENDING"]).to(equal([SDLPermissionStatus USER_CONSENT_PENDING])); + }); + + it(@"Should return nil when invalid", ^ { + expect([SDLPermissionStatus valueOf:nil]).to(beNil()); + expect([SDLPermissionStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil()); + }); +}); +describe(@"Value List Tests", ^ { + NSArray* storedValues = [SDLPermissionStatus values]; + __block NSArray* definedValues; + beforeSuite(^ { + definedValues = [@[[SDLPermissionStatus ALLOWED], + [SDLPermissionStatus DISALLOWED], + [SDLPermissionStatus USER_DISALLOWED], + [SDLPermissionStatus USER_CONSENT_PENDING]] copy]; + }); + + it(@"Should contain all defined enum values", ^ { + for (int i = 0; i < definedValues.count; i++) { + expect(storedValues).to(contain(definedValues[i])); + } + }); + + it(@"Should contain only defined enum values", ^ { + for (int i = 0; i < storedValues.count; i++) { + expect(definedValues).to(contain(storedValues[i])); + } + }); +}); + +QuickSpecEnd
\ No newline at end of file |