Exemplo n.º 1
0
        protected override void EstablishContext()
        {
            A.CallTo(() => _context.Handle).Returns((IntPtr)1);
            A.CallTo(() => _context.IsValid()).Returns(true);

            IntPtr        handle;
            SCardProtocol protocol;

            A.CallTo(() => _api.Connect(A <IntPtr> ._, A <string> ._, A <SCardShareMode> ._, A <SCardProtocol> ._, out handle,
                                        out protocol))
            .WithAnyArguments()
            .Returns(SCardError.Success)
            .AssignsOutAndRefParametersLazily(_ => new object[] { (IntPtr)123, SCardProtocol.T1 });

            protocol = default(SCardProtocol);
            A.CallTo(() => _api.Reconnect((IntPtr)123, SCardShareMode.Direct, SCardProtocol.Any,
                                          SCardReaderDisposition.Reset, out protocol))
            .Returns(SCardError.Success)
            .AssignsOutAndRefParametersLazily(_ => new object[] { SCardProtocol.T15 });

            _sut = new CardHandle(_api, _context);
            _sut.Connect("MyReader", SCardShareMode.Shared, SCardProtocol.Any);
        }