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 } }); }
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 } }); }
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())); }
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)) ) ); } }
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)))); }