Пример #1
0
        public async Task MemberClient_GetPoints_ToUserThatExists_ReturnsSamePoints()
        {
            // arrange
            var amount = Rng.Next();

            var          channel = GetChannel();
            var          client  = new Member.MemberClient(channel);
            const string guildId = "1";
            const string userId  = "1";

            var getQuery = new MemberQuery
            {
                GuildId = guildId,
                UserId  = userId
            };

            var addQuery = new MemberQueryWithPoints
            {
                GuildId = guildId,
                UserId  = userId,
                Amount  = amount
            };

            // act
            var addResult = await client.AddPointsAsync(addQuery);

            var getResult = await client.GetPointsAsync(getQuery);

            // assert
            Assert.AreEqual(Status.Success, addResult.Status, "AddPointsAsync() failed.");
            Assert.AreEqual(amount, addResult.Experience);
            Assert.AreEqual(Status.Success, getResult.Status, "GetPointsAsync() failed.");
            Assert.AreEqual(amount, getResult.Experience);
        }
Пример #2
0
        public async Task MemberClient_ResetPoints_ToUserThatDoesNotExist_ReturnsZero()
        {
            // arrange
            var          channel = GetChannel();
            var          client  = new Member.MemberClient(channel);
            const string guildId = "1";
            const string userId  = "1";

            var getQuery = new MemberQuery
            {
                GuildId = guildId,
                UserId  = userId
            };
            var resetQuery = new MemberQuery
            {
                GuildId = guildId,
                UserId  = userId
            };

            // act
            var resetResult = await client.ResetPointsAsync(resetQuery);

            var getResult = await client.GetPointsAsync(getQuery);

            // assert
            Assert.AreEqual(Status.Success, resetResult.Status, "ResetPointsAsync() failed.");
            Assert.AreEqual(Status.Success, getResult.Status, "GetPointsAsync() failed.");
            Assert.AreEqual(0, getResult.Experience);
        }
Пример #3
0
        public async Task MemberClient_RemovePoints_ToUserThatExistsWithNegativeSubstractionResult_ReturnsZero()
        {
            // arrange
            const int addAmount    = 5;
            const int removeAmount = 8;

            var          channel = GetChannel();
            var          client  = new Member.MemberClient(channel);
            const string guildId = "1";
            const string userId  = "1";

            var addQuery = new MemberQueryWithPoints
            {
                GuildId = guildId,
                UserId  = userId,
                Amount  = addAmount
            };
            var removeQuery = new MemberQueryWithPoints
            {
                GuildId = guildId,
                UserId  = userId,
                Amount  = removeAmount
            };

            // act
            var addResult = await client.AddPointsAsync(addQuery);

            var removeResult = await client.RemovePointsAsync(removeQuery);

            // assert
            Assert.AreEqual(Status.Success, addResult.Status, "AddPointsAsync() failed.");
            Assert.AreEqual(addAmount, addResult.Experience);
            Assert.AreEqual(Status.Success, removeResult.Status, "RemovePointsAsync() failed.");
            Assert.AreEqual(0, removeResult.Experience);
        }
Пример #4
0
 public MainWindowViewModel(Matematica.MatematicaClient client, Member.MemberClient client2)
 {
     _cancellationTokenSource = new CancellationTokenSource();
     _client        = client;
     _client2       = client2;
     _duplexStream  = _client.Subscribe();
     _duplexStream2 = _client2.Subscribe();
     _responseTask  = HandleResponsesAsync(_cancellationTokenSource.Token);
     _responseTask2 = HandleResponsesAsync2(_cancellationTokenSource.Token);
 }
Пример #5
0
 public MainWindowViewModel Main()
 {
     try
     {
         var channel = GrpcChannel.ForAddress("https://localhost:5001");
         var client  = new Matematica.MatematicaClient(channel);
         var client2 = new Member.MemberClient(channel);
         return(new MainWindowViewModel(client, client2));
     }
     catch (RpcException e)
     {
         if (e.StatusCode == StatusCode.PermissionDenied)
         {
             Console.WriteLine("Permission denied.");
         }
     }
     return(null);
 }
Пример #6
0
        public async Task MemberClient_RemovePoints_ToUserThatDoesNotExist_ReturnsZero()
        {
            // arrange
            var amount = Rng.Next();

            var          channel = GetChannel();
            var          client  = new Member.MemberClient(channel);
            const string guildId = "1";
            const string userId  = "1";

            var query = new MemberQueryWithPoints
            {
                GuildId = guildId,
                UserId  = userId,
                Amount  = amount
            };

            // act
            var result = await client.RemovePointsAsync(query);

            // assert
            Assert.AreEqual(Status.Success, result.Status, "RemovePointsAsync() failed.");
            Assert.AreEqual(0, result.Experience);
        }