summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicoleYarroch <nicole@livio.io>2019-03-06 16:12:29 -0500
committerNicoleYarroch <nicole@livio.io>2019-03-06 16:12:29 -0500
commit7555bfad168e548b2daad681d5670ef396859888 (patch)
tree4b5f3f302bcd2b8e603de81f0f7d8bfbe7341a1c
parentac2b9f1a843ffb6c2d4f443eccab06ea1803a8a6 (diff)
downloadsdl_ios-7555bfad168e548b2daad681d5670ef396859888.tar.gz
Added conv. init to `AppServiceData`
-rw-r--r--SmartDeviceLink/SDLAppServiceData.h11
-rw-r--r--SmartDeviceLink/SDLAppServiceData.m4
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m12
3 files changed, 27 insertions, 0 deletions
diff --git a/SmartDeviceLink/SDLAppServiceData.h b/SmartDeviceLink/SDLAppServiceData.h
index 29071708f..af2ec4ded 100644
--- a/SmartDeviceLink/SDLAppServiceData.h
+++ b/SmartDeviceLink/SDLAppServiceData.h
@@ -8,6 +8,8 @@
#import "SDLRPCRequest.h"
+#import "SDLAppServiceType.h"
+
@class SDLMediaServiceData;
@class SDLNavigationServiceData;
@class SDLWeatherServiceData;
@@ -30,6 +32,15 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithServiceType:(NSString *)serviceType serviceId:(NSString *)serviceId NS_DESIGNATED_INITIALIZER;
/**
+ * Convenience init for service type and service id.
+ *
+ * @param serviceType The type of service that is to be offered by this app.
+ * @param serviceId A unique ID tied to this specific service record.
+ * @return A SDLAppServiceData object
+ */
+- (instancetype)initWithAppServiceType:(SDLAppServiceType)serviceType serviceId:(NSString *)serviceId;
+
+/**
* Convenience init for media service data.
*
* @param mediaServiceData The media service data
diff --git a/SmartDeviceLink/SDLAppServiceData.m b/SmartDeviceLink/SDLAppServiceData.m
index 2efd5e07d..8453278ff 100644
--- a/SmartDeviceLink/SDLAppServiceData.m
+++ b/SmartDeviceLink/SDLAppServiceData.m
@@ -31,6 +31,10 @@ NS_ASSUME_NONNULL_BEGIN
return self;
}
+- (instancetype)initWithAppServiceType:(SDLAppServiceType)serviceType serviceId:(NSString *)serviceId {
+ return [self initWithServiceType:serviceType serviceId:serviceId];
+}
+
- (instancetype)initWithMediaServiceData:(SDLMediaServiceData *)mediaServiceData serviceId:(NSString *)serviceId {
self = [self initWithServiceType:SDLAppServiceTypeMedia serviceId:serviceId];
if (!self) {
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m
index 30d149b56..3e94c5def 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m
@@ -20,6 +20,7 @@ QuickSpecBegin(SDLAppServiceDataSpec)
describe(@"Getter/Setter Tests", ^{
__block NSString *testServiceType = nil;
+ __block SDLAppServiceType testAppServiceType = nil;
__block NSString *testServiceId = nil;
__block SDLMediaServiceData *testMediaServiceData = nil;
__block SDLWeatherServiceData *testWeatherServiceData = nil;
@@ -27,6 +28,7 @@ describe(@"Getter/Setter Tests", ^{
beforeEach(^{
testServiceType = SDLAppServiceTypeMedia;
+ testAppServiceType = SDLAppServiceTypeNavigation;
testServiceId = @"a1*54z";
testMediaServiceData = [[SDLMediaServiceData alloc] init];
testWeatherServiceData = [[SDLWeatherServiceData alloc] init];
@@ -74,6 +76,16 @@ describe(@"Getter/Setter Tests", ^{
expect(testStruct.navigationServiceData).to(beNil());
});
+ it(@"Should get correctly when initialized with initWithAppServiceType:serviceId:", ^{
+ SDLAppServiceData *testStruct = [[SDLAppServiceData alloc] initWithAppServiceType:testAppServiceType serviceId:testServiceId];
+
+ expect(testStruct.serviceType).to(equal(testAppServiceType));
+ expect(testStruct.serviceId).to(equal(testServiceId));
+ expect(testStruct.mediaServiceData).to(beNil());
+ expect(testStruct.weatherServiceData).to(beNil());
+ expect(testStruct.navigationServiceData).to(beNil());
+ });
+
it(@"Should get correctly when initialized with initWithMediaServiceData:serviceId:", ^{
SDLAppServiceData *testStruct = [[SDLAppServiceData alloc] initWithMediaServiceData:testMediaServiceData serviceId:testServiceId];