summaryrefslogtreecommitdiff
path: root/SmartDeviceLinkTests/DevAPISpecs/SDLNotificationDispatcherSpec.m
blob: 63d691ee0e3e4d877c8fdde79a8104a3c771273d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#import <Quick/Quick.h>
#import <Nimble/Nimble.h>

#import "SDLNotificationConstants.h"
#import "SDLNotificationDispatcher.h"


QuickSpecBegin(SDLNotificationDispatcherSpec)

describe(@"a notification dispatcher", ^{
    __block SDLNotificationDispatcher *testDispatcher = nil;
    
    beforeEach(^{
        testDispatcher = [[SDLNotificationDispatcher alloc] init];
    });
    
    it(@"should conform to SDLProxyListener", ^{
        expect(@([testDispatcher conformsToProtocol:@protocol(SDLProxyListener)])).to(beTruthy());
        
        expect(@([testDispatcher respondsToSelector:@selector(onOnDriverDistraction:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnHMIStatus:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onProxyClosed)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onProxyOpened)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onAddCommandResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onAddSubMenuResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onAlertManeuverResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onAlertResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onButtonPressResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onChangeRegistrationResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onCreateInteractionChoiceSetResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onDeleteCommandResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onDeleteInteractionChoiceSetResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onDeleteSubMenuResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onDiagnosticMessageResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onDialNumberResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onEncodedSyncPDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onEndAudioPassThruResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onError:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onGenericResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onGetAppServiceDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onGetDTCsResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onGetFileResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onGetInteriorVehicleDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onGetSystemCapabilityResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onGetVehicleDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onGetWayPointsResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onReceivedLockScreenIcon:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnAppInterfaceUnregistered:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnAppServiceData:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnAudioPassThru:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnButtonEvent:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnButtonPress:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnCommand:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnEncodedSyncPData:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnHashChange:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnLanguageChange:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnLockScreenNotification:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnSyncPData:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnRCStatus:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnSystemRequest:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnTBTClientState:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnTouchEvent:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnVehicleData:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onOnWayPointChange:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onPerformAppServiceInteractionResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onPerformAudioPassThruResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onPerformInteractionResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onPublishAppService:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onPutFileResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onReadDIDResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onRegisterAppInterfaceResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onResetGlobalPropertiesResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onScrollableMessageResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSendHapticDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSendLocationResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSetAppIconResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSetDisplayLayoutResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSetGlobalPropertiesResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSetInteriorVehicleDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSetMediaClockTimerResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onShowConstantTBTResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onShowResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSliderResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSpeakResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSubscribeButtonResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSubscribeVehicleDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSubscribeWayPointsResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onSyncPDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onUpdateTurnListResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onUnregisterAppInterfaceResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onUnsubscribeButtonResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onUnsubscribeVehicleDataResponse:)])).to(beTruthy());
        expect(@([testDispatcher respondsToSelector:@selector(onUnsubscribeWayPointsResponse:)])).to(beTruthy());
    });
    
    describe(@"when told to post a notification", ^{
        __block NSString *testNotificationName = nil;
        __block NSString *testUserInfo = nil;
        
        __block NSNotification *returnNotification = nil;
        
        beforeEach(^{
            testNotificationName = @"com.test.notification";
            testUserInfo = @"testuserinfo";
            
            [[NSNotificationCenter defaultCenter] addObserverForName:testNotificationName object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {
                returnNotification = note;
            }];
            
            [testDispatcher postNotificationName:testNotificationName infoObject:testUserInfo];
        });
        
        it(@"should post", ^{
            expect(returnNotification.userInfo[SDLNotificationUserInfoObject]).toEventually(match(testUserInfo));
            expect(returnNotification.object).toEventually(equal(testDispatcher));
        });
    });
});

QuickSpecEnd