コード例 #1
0
        public async Task GetNextSequenceId_NewGeneratedConnection_Returns1() 
        {
            var socketMock = new Mock<ISocket>();
            var diceConnection = new DiceConnection(socketMock.Object);

            var sequenceId = await diceConnection.GetNextSequenceIdAsync();
            Assert.Equal(1u, sequenceId);
            socketMock.VerifyAll();
        }
コード例 #2
0
        public async Task UpdateSequenceId_1234_NextSequenceIdReturns1235() 
        {
            var socketMock = new Mock<ISocket>();
            var diceConnection = new DiceConnection(socketMock.Object);

            await diceConnection.UpdateSequenceIdAsync(1234);
            var sequenceId = await diceConnection.GetNextSequenceIdAsync();
            socketMock.VerifyAll();
            Assert.Equal(1235u, sequenceId);
        }
コード例 #3
0
        /// <summary>
        /// Creates a new <see cref="IDiceConnection"/> instance
        /// </summary>
        /// <param name="hostname"></param>
        /// <param name="port"></param>
        /// <param name="packetReceivedHandler"></param>
        /// <returns></returns>
        public async Task<IDiceConnection> CreateAsync(string hostname, int port, EventHandler<DicePacketEventArgs> packetReceivedHandler)
        {
            #region Contracts

            if (hostname == null)
            {
                throw new ArgumentNullException("hostname");
            }

            if (port <= 0)
            {
                throw new ArgumentOutOfRangeException("port");
            }

            #endregion Contracts

            var socket = await SocketFactory.CreateAndConnectAsync(hostname, port, null);
            var connection = new DiceConnection(socket, packetReceivedHandler);

            return connection;
        }
コード例 #4
0
 public void Ctor_InstanceImplementsIDiceConnection()
 {
     var socketMock = new Mock<ISocket>();
         var instance = new DiceConnection(socketMock.Object, (sender, args) => {});
     Assert.IsAssignableFrom<IDiceConnection>(instance);
 }