diff options
Diffstat (limited to 'SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m')
-rw-r--r-- | SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m | 213 |
1 files changed, 165 insertions, 48 deletions
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m index 9c8765525..a7fa46263 100644 --- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m +++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m @@ -9,62 +9,179 @@ #import <Nimble/Nimble.h> #import "SDLBodyInformation.h" +#import "SDLDoorStatus.h" +#import "SDLGateStatus.h" #import "SDLIgnitionStableStatus.h" #import "SDLIgnitionStatus.h" +#import "SDLRoofStatus.h" #import "SDLRPCParameterNames.h" QuickSpecBegin(SDLBodyInformationSpec) -describe(@"Getter/Setter Tests", ^ { - it(@"Should set and get correctly", ^ { - SDLBodyInformation* testStruct = [[SDLBodyInformation alloc] init]; - - testStruct.parkBrakeActive = @YES; - testStruct.ignitionStableStatus = SDLIgnitionStableStatusStable; - testStruct.ignitionStatus = SDLIgnitionStatusStart; - testStruct.driverDoorAjar = @NO; - testStruct.passengerDoorAjar = @NO; - testStruct.rearLeftDoorAjar = @NO; - testStruct.rearRightDoorAjar = @YES; - - expect(testStruct.parkBrakeActive).to(equal(@YES)); - expect(testStruct.ignitionStableStatus).to(equal(SDLIgnitionStableStatusStable)); - expect(testStruct.ignitionStatus).to(equal(SDLIgnitionStatusStart)); - expect(testStruct.driverDoorAjar).to(equal(@NO)); - expect(testStruct.passengerDoorAjar).to(equal(@NO)); - expect(testStruct.rearLeftDoorAjar).to(equal(@NO)); - expect(testStruct.rearRightDoorAjar).to(equal(@YES)); +NSArray<SDLDoorStatus *> *doorStatuses = @[[[SDLDoorStatus alloc] init]]; +NSArray<SDLGateStatus *> *gateStatuses = @[[[SDLGateStatus alloc] init]]; +NSArray<SDLRoofStatus *> *roofStatuses = @[[[SDLRoofStatus alloc] init]]; +SDLIgnitionStableStatus ignitionStableStatus = SDLIgnitionStableStatusStable; +SDLIgnitionStatus ignitionStatus = SDLIgnitionStatusStart; +__block SDLBodyInformation *testStruct = nil; + +describe(@"getter/setter tests", ^{ + context(@"init and assign", ^{ + beforeEach(^{ + testStruct = [[SDLBodyInformation alloc] init]; + testStruct.parkBrakeActive = @YES; + testStruct.ignitionStableStatus = SDLIgnitionStableStatusStable; + testStruct.ignitionStatus = SDLIgnitionStatusStart; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + testStruct.driverDoorAjar = @NO; + testStruct.passengerDoorAjar = @NO; + testStruct.rearLeftDoorAjar = @NO; + testStruct.rearRightDoorAjar = @YES; +#pragma clang diagnostic pop + testStruct.doorStatuses = doorStatuses; + testStruct.gateStatuses = gateStatuses; + testStruct.roofStatuses = roofStatuses; + }); + + it(@"expect struct is not nil", ^{ + expect(testStruct).notTo(beNil()); + }); + + it(@"expect all properties to be set correctly", ^{ + expect(testStruct.parkBrakeActive).to(equal(@YES)); + expect(testStruct.ignitionStableStatus).to(equal(SDLIgnitionStableStatusStable)); + expect(testStruct.ignitionStatus).to(equal(SDLIgnitionStatusStart)); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + expect(testStruct.driverDoorAjar).to(equal(@NO)); + expect(testStruct.passengerDoorAjar).to(equal(@NO)); + expect(testStruct.rearLeftDoorAjar).to(equal(@NO)); + expect(testStruct.rearRightDoorAjar).to(equal(@YES)); +#pragma clang diagnostic pop + expect(testStruct.doorStatuses).to(equal(doorStatuses)); + expect(testStruct.gateStatuses).to(equal(gateStatuses)); + expect(testStruct.roofStatuses).to(equal(roofStatuses)); + }); }); - - it(@"Should get correctly when initialized", ^ { - NSMutableDictionary* dict = [@{SDLRPCParameterNameParkBrakeActive:@YES, - SDLRPCParameterNameIgnitionStableStatus:SDLIgnitionStableStatusNotStable, - SDLRPCParameterNameIgnitionStatus:SDLIgnitionStatusStart, - SDLRPCParameterNameDriverDoorAjar:@NO, - SDLRPCParameterNamePassengerDoorAjar:@NO, - SDLRPCParameterNameRearLeftDoorAjar:@NO, - SDLRPCParameterNameRearRightDoorAjar:@YES} mutableCopy]; - SDLBodyInformation* testStruct = [[SDLBodyInformation alloc] initWithDictionary:dict]; - - expect(testStruct.parkBrakeActive).to(equal(@YES)); - expect(testStruct.ignitionStableStatus).to(equal(SDLIgnitionStableStatusNotStable)); - expect(testStruct.ignitionStatus).to(equal(SDLIgnitionStatusStart)); - expect(testStruct.driverDoorAjar).to(equal(@NO)); - expect(testStruct.passengerDoorAjar).to(equal(@NO)); - expect(testStruct.rearLeftDoorAjar).to(equal(@NO)); - expect(testStruct.rearRightDoorAjar).to(equal(@YES)); + + context(@"initWithDictionary:", ^{ + beforeEach(^{ + NSDictionary *dict = @{ + SDLRPCParameterNameParkBrakeActive:@YES, + SDLRPCParameterNameIgnitionStableStatus:SDLIgnitionStableStatusNotStable, + SDLRPCParameterNameIgnitionStatus:SDLIgnitionStatusStart, +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + SDLRPCParameterNameDriverDoorAjar:@NO, + SDLRPCParameterNamePassengerDoorAjar:@NO, + SDLRPCParameterNameRearLeftDoorAjar:@NO, + SDLRPCParameterNameRearRightDoorAjar:@YES, +#pragma clang diagnostic pop + SDLRPCParameterNameDoorStatuses:doorStatuses, + SDLRPCParameterNameGateStatuses:gateStatuses, + SDLRPCParameterNameRoofStatuses:roofStatuses, + }; + testStruct = [[SDLBodyInformation alloc] initWithDictionary:dict]; + }); + + it(@"expect struct is not nil", ^{ + expect(testStruct).notTo(beNil()); + }); + + it(@"expect all properties to be set correctly", ^{ + expect(testStruct.parkBrakeActive).to(equal(@YES)); + expect(testStruct.ignitionStableStatus).to(equal(SDLIgnitionStableStatusNotStable)); + expect(testStruct.ignitionStatus).to(equal(SDLIgnitionStatusStart)); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + expect(testStruct.driverDoorAjar).to(equal(@NO)); + expect(testStruct.passengerDoorAjar).to(equal(@NO)); + expect(testStruct.rearLeftDoorAjar).to(equal(@NO)); + expect(testStruct.rearRightDoorAjar).to(equal(@YES)); +#pragma clang diagnostic pop + expect(testStruct.doorStatuses).to(equal(doorStatuses)); + expect(testStruct.gateStatuses).to(equal(gateStatuses)); + expect(testStruct.roofStatuses).to(equal(roofStatuses)); + }); }); - - it(@"Should return nil if not set", ^ { - SDLBodyInformation* testStruct = [[SDLBodyInformation alloc] init]; - - expect(testStruct.parkBrakeActive).to(beNil()); - expect(testStruct.ignitionStableStatus).to(beNil()); - expect(testStruct.ignitionStatus).to(beNil()); - expect(testStruct.driverDoorAjar).to(beNil()); - expect(testStruct.passengerDoorAjar).to(beNil()); - expect(testStruct.rearLeftDoorAjar).to(beNil()); - expect(testStruct.rearRightDoorAjar).to(beNil()); + + context(@"init", ^{ + beforeEach(^{ + testStruct = [[SDLBodyInformation alloc] init]; + }); + + it(@"expect struct is not nil", ^{ + expect(testStruct).notTo(beNil()); + }); + + it(@"expect all properties to be nil", ^{ + expect(testStruct.parkBrakeActive).to(beNil()); + expect(testStruct.ignitionStableStatus).to(beNil()); + expect(testStruct.ignitionStatus).to(beNil()); + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdeprecated-declarations" + expect(testStruct.driverDoorAjar).to(beNil()); + expect(testStruct.passengerDoorAjar).to(beNil()); + expect(testStruct.rearLeftDoorAjar).to(beNil()); + expect(testStruct.rearRightDoorAjar).to(beNil()); + #pragma clang diagnostic pop + expect(testStruct.doorStatuses).to(beNil()); + expect(testStruct.gateStatuses).to(beNil()); + expect(testStruct.roofStatuses).to(beNil()); + }); + }); + + context(@"initWithParkBrakeActive:ignitionStableStatus:ignitionStatus:", ^{ + beforeEach(^{ + testStruct = [[SDLBodyInformation alloc] initWithParkBrakeActive:YES ignitionStableStatus:ignitionStableStatus ignitionStatus:ignitionStatus]; + }); + + it(@"expect struct is not nil", ^{ + expect(testStruct).notTo(beNil()); + }); + + it(@"expect all properties to be set correctly", ^{ + expect(testStruct.parkBrakeActive).to(equal(@YES)); + expect(testStruct.ignitionStableStatus).to(equal(ignitionStableStatus)); + expect(testStruct.ignitionStatus).to(equal(ignitionStatus)); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + expect(testStruct.driverDoorAjar).to(beNil()); + expect(testStruct.passengerDoorAjar).to(beNil()); + expect(testStruct.rearLeftDoorAjar).to(beNil()); + expect(testStruct.rearRightDoorAjar).to(beNil()); +#pragma clang diagnostic pop + expect(testStruct.doorStatuses).to(beNil()); + expect(testStruct.gateStatuses).to(beNil()); + expect(testStruct.roofStatuses).to(beNil()); + }); + }); + + context(@"initWithParkBrakeActive:ignitionStableStatus:ignitionStatus:", ^{ + beforeEach(^{ + testStruct = [[SDLBodyInformation alloc] initWithParkBrakeActive:YES ignitionStableStatus:ignitionStableStatus ignitionStatus:ignitionStatus doorStatuses:doorStatuses gateStatuses:gateStatuses roofStatuses:roofStatuses]; + }); + + it(@"expect struct is not nil", ^{ + expect(testStruct).notTo(beNil()); + }); + + it(@"expect all properties to be set correctly", ^{ + expect(testStruct.parkBrakeActive).to(equal(@YES)); + expect(testStruct.ignitionStableStatus).to(equal(ignitionStableStatus)); + expect(testStruct.ignitionStatus).to(equal(ignitionStatus)); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + expect(testStruct.driverDoorAjar).to(beNil()); + expect(testStruct.passengerDoorAjar).to(beNil()); + expect(testStruct.rearLeftDoorAjar).to(beNil()); + expect(testStruct.rearRightDoorAjar).to(beNil()); +#pragma clang diagnostic pop + expect(testStruct.doorStatuses).to(equal(doorStatuses)); + expect(testStruct.gateStatuses).to(equal(gateStatuses)); + expect(testStruct.roofStatuses).to(equal(roofStatuses)); + }); }); }); |