summaryrefslogtreecommitdiff
path: root/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m
diff options
context:
space:
mode:
Diffstat (limited to 'SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m')
-rw-r--r--SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m38
1 files changed, 38 insertions, 0 deletions
diff --git a/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m b/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m
index a578ec561..9dac0203f 100644
--- a/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m
+++ b/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m
@@ -15,6 +15,18 @@
QuickSpecBegin(SDLProtocolHeaderSpec)
+__block SDLProtocolHeader *testHeader;
+
+beforeSuite(^ {
+ testHeader = [[SDLProtocolHeader alloc] init];
+ testHeader.encrypted = YES;
+ testHeader.frameType = SDLFrameTypeControl;
+ testHeader.serviceType = SDLServiceTypeRPC;
+ testHeader.frameData = SDLFrameInfoStartService;
+ testHeader.sessionID = 0x53;
+ testHeader.bytesInPayload = 0x1234;
+});
+
describe(@"HeaderForVersion Tests", ^ {
it(@"Should return the correct header", ^ {
expect([SDLProtocolHeader headerForVersion:1]).to(beAKindOf(SDLV1ProtocolHeader.class));
@@ -38,4 +50,30 @@ describe(@"DetermineVersion Tests", ^ {
});
});
+describe(@"hashing tests", ^ {
+ it(@"should return equivalent hash values", ^ {
+ SDLProtocolHeader *equalHeader = [[SDLProtocolHeader alloc] init];
+ equalHeader.encrypted = YES;
+ equalHeader.frameType = SDLFrameTypeControl;
+ equalHeader.serviceType = SDLServiceTypeRPC;
+ equalHeader.frameData = SDLFrameInfoStartService;
+ equalHeader.sessionID = 0x53;
+ equalHeader.bytesInPayload = 0x1234;
+
+ expect([testHeader hash]).to(equal([equalHeader hash]));
+ });
+
+ it(@"should return unequivalent hash values", ^ {
+ SDLProtocolHeader *unequalHeader = [[SDLProtocolHeader alloc] init];
+ unequalHeader.encrypted = NO;
+ unequalHeader.frameType = SDLFrameTypeFirst;
+ unequalHeader.serviceType = SDLServiceTypeVideo;
+ unequalHeader.frameData = SDLFrameInfoStartService;
+ unequalHeader.sessionID = 0x54;
+ unequalHeader.bytesInPayload = 0x1234;
+
+ expect([testHeader hash]).toNot(equal([unequalHeader hash]));
+ });
+});
+
QuickSpecEnd