Beispiel #1
0
        private void FishingSystem_NewGlobalRecord(Catch catchData)
        {
            var recordMessage = $"{UserLookup.GetUsername(catchData.UserId)} just caught the heaviest {catchData.Fish.Name} ever! It weighs {catchData.Weight} pounds!";

            PushNotification?.Invoke(null, new CommandResult()
            {
                Messages = new string[] { recordMessage }
            });
        }
Beispiel #2
0
        private void System_TournamentEnded(TournamentResult result, DateTime?next)
        {
            string message;

            if (next == null)
            {
                message = "Stream has gone offline, so the fishing tournament was ended early. D:";
                if (result.Entries.Count > 0)
                {
                    message += $" Winner at the time of conclusion: {UserLookup.GetUsername(result.Winner.UserId)} with a score of {result.Winner.Points}.";
                }
            }
            else
            {
                if (result.Entries.Count > 0)
                {
                    message = $"The fishing tournament has ended! Out of {result.Entries.Count} participants, {UserLookup.GetUsername(result.Winner.UserId)} won with {result.Winner.Points} points!";
                }
                else
                {
                    message = "The fishing tournament has ended.";
                }
            }
            PushNotification?.Invoke(null, new CommandResult {
                Processed = true, Messages = new string[] { message }
            });
        }
Beispiel #3
0
        public void Gloats()
        {
            var fisher    = FisherData.FirstOrDefault(x => x.UserId == "00");
            var response  = Module.Gloat("1", fisher.UserId);
            var responses = response.Responses;
            var messages  = response.Messages;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.AreEqual(1, responses.Count);
            Assert.AreEqual(1, messages.Count);
            Assert.IsTrue(responses[0].Contains(System.GloatCost.ToString()));
            Assert.IsTrue(responses[0].Contains(fisher.Records[0].Fish.Name));
            Assert.IsTrue(messages[0].Contains(UserLookup.GetUsername(fisher.UserId)));
            Assert.IsTrue(messages[0].Contains(fisher.Records[0].Fish.Name));
            Assert.IsTrue(messages[0].Contains(fisher.Records[0].Length.ToString()));
            Assert.IsTrue(messages[0].Contains(fisher.Records[0].Weight.ToString()));
        }
Beispiel #4
0
        public void RespondsWithCompactGlobalLeaderboard()
        {
            var responses   = Module.GlobalLeaderboardCompact("", "00");
            var compact     = responses.ToCompact();
            var leaderboard = LeaderboardMock.Read();

            foreach (var entry in leaderboard)
            {
                Assert.IsTrue(
                    compact.Any(
                        x => x.Contains(entry.Fish.Name) &&
                        x.Contains(entry.Length.ToString()) &&
                        x.Contains(entry.Weight.ToString()) &&
                        x.Contains(UserLookup.GetUsername(entry.UserId))
                        )
                    );
            }
        }
Beispiel #5
0
        public void PushesNotificationOnNewGlobalRecord()
        {
            var handlerMock = new Mock <PushNotificationHandler>();

            Module.PushNotification += handlerMock.Object;
            LeaderboardMock.Data.Clear();
            System.Tournament.StartTournament();
            var fisher = FisherData.FirstOrDefault(x => x.UserId.Equals("00"));

            fisher.IsFishing  = true;
            fisher.Hooked     = FishData[0];
            fisher.HookedTime = DateTime.Now;
            Module.CatchFish("", fisher.UserId);
            handlerMock.Verify(x => x(It.IsAny <string>(), It.IsAny <CommandResult>()), Times.Once);
            var result = handlerMock.Invocations[0].Arguments[1] as CommandResult;

            Assert.IsNull(result.Responses);
            Assert.IsTrue(result.Messages.Any(x => x.Contains(UserLookup.GetUsername(fisher.UserId))));
        }