示例#1
0
        /// <inheritdoc />
        public ICardHandle Connect(string readerName, SCardShareMode mode, SCardProtocol preferredProtocol)
        {
            ThrowOnInvalidContext();

            var handle = new CardHandle(_api, this);

            handle.Connect(readerName, mode, preferredProtocol);
            return(handle);
        }
示例#2
0
        public void It_should_throw(string readerName, Type expectedException)
        {
            var sut = new CardHandle(_context);

            try {
                sut.Connect(readerName, SCardShareMode.Shared, SCardProtocol.Any);
            } catch (Exception exception) {
                exception.Should().BeOfType(expectedException);
                return;
            }

            throw new Exception($"Expected to throw {expectedException.Name} but did not!");
        }
示例#3
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 });

            A.CallTo(() => _api.Disconnect(A <IntPtr> .Ignored, A <SCardReaderDisposition> .Ignored))
            .Returns(SCardError.Success);

            _sut = new CardHandle(_api, _context);
            _sut.Connect("MyReader", SCardShareMode.Shared, SCardProtocol.Any);
        }
示例#4
0
 public void It_should_throw()
 {
     Invoking(() => _sut.Connect("MyReader", SCardShareMode.Shared, SCardProtocol.Any))
     .Should()
     .Throw <InvalidContextException>();
 }
示例#5
0
 protected override void BecauseOf()
 {
     _sut.Connect("MyReader", SCardShareMode.Shared, SCardProtocol.Any);
 }