Ejemplo n.º 1
0
        public void RasGetConnectStatusAsExpected()
        {
            var hRasConn        = new IntPtr(1);
            var lpRasConnStatus = new RASCONNSTATUS();

            api.Setup(o => o.RasGetConnectStatus(hRasConn, ref It.Ref <RASCONNSTATUS> .IsAny)).Returns(SUCCESS);

            eventLoggingPolicy.Setup(o => o.LogEvent(It.IsAny <EventLevel>(), It.IsAny <PInvokeInt32CallCompletedTraceEvent>())).Callback(new LogEventCallback(
                                                                                                                                              (level, o1) =>
            {
                Assert.AreEqual(EventLevel.Verbose, level);

                var eventData = (PInvokeInt32CallCompletedTraceEvent)o1;
                Assert.True(eventData.Args.ContainsKey(nameof(hRasConn)));
                Assert.True(eventData.OutArgs.ContainsKey(nameof(lpRasConnStatus)));
                Assert.True(eventData.Duration > TimeSpan.Zero);
                Assert.AreEqual(SUCCESS, eventData.Result);
            })).Verifiable();

            var target = new RasApi32LoggingAdvice(api.Object, eventLoggingPolicy.Object);
            var result = target.RasGetConnectStatus(hRasConn, ref lpRasConnStatus);

            eventLoggingPolicy.Verify();
            Assert.AreEqual(SUCCESS, result);
        }