Ejemplo n.º 1
0
        public void DeletesFish()
        {
            var fisher = FisherData.FirstOrDefault(x => x.UserId.Equals("00"));
            var fish   = fisher.Records[0];

            System.DeleteFish(fisher, fish);
            Assert.IsFalse(fisher.Records.Any(x => x.Fish.Id.Equals(fish.Fish.Id)));
        }
Ejemplo n.º 2
0
        public void CastCreatesNewFisherIfNoneExistsWithMatchingUserId()
        {
            var newId = "NewId";

            System.Cast(newId);
            var newFisher = FisherData.FirstOrDefault(x => x.UserId.Equals(newId));

            Assert.IsNotNull(newFisher);
        }
Ejemplo n.º 3
0
        public void GloatFailsWithInsufficientCoins()
        {
            var fisher    = FisherData.FirstOrDefault(x => x.UserId == "01");
            var response  = Module.Gloat("1", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.IsNull(response.Messages);
            Assert.AreEqual(1, responses.Count);
            Assert.IsTrue(responses[0].Contains("coins"));
        }
Ejemplo n.º 4
0
        public void GloatFailsWithInvalidFish()
        {
            var fisher    = FisherData.FirstOrDefault(x => x.UserId == "00");
            var response  = Module.Gloat("", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.IsNull(response.Messages);
            Assert.AreEqual(1, responses.Count);
            Assert.IsTrue(responses[0].Contains("invalid", StringComparison.OrdinalIgnoreCase));
        }
Ejemplo n.º 5
0
        public void ReleasesSpecificFish()
        {
            var fisher    = FisherData.FirstOrDefault(x => x.UserId == "00");
            var fish      = fisher.Records[0];
            var response  = Module.ReleaseFish("1", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.AreEqual(1, responses.Count);
            Assert.IsTrue(responses[0].Contains(fish.Fish.Name));
            Assert.IsFalse(fisher.Records.Any(x => x.Fish.Id.Equals(fish.Fish.Id)));
        }
Ejemplo n.º 6
0
        public void CastsLine()
        {
            var fisher = FisherData.FirstOrDefault(x => x.UserId == "00");

            fisher.IsFishing = false;
            var response  = Module.Cast("", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.AreEqual(1, responses.Count);
            Assert.IsTrue(fisher.IsFishing);
        }
Ejemplo n.º 7
0
        public void GloatFailsWithNoFish()
        {
            var fisher = FisherData.FirstOrDefault(x => x.UserId == "00");

            fisher.Records.Clear();
            var response  = Module.Gloat("1", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.IsNull(response.Messages);
            Assert.AreEqual(1, responses.Count);
            Assert.IsTrue(responses[0].Contains("!cast"));
        }
Ejemplo n.º 8
0
        public void CastLineFailsFailsIfLineAlreadyCast()
        {
            var fisher = FisherData.FirstOrDefault(x => x.UserId == "00");

            fisher.IsFishing = true;
            var response  = Module.Cast("", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.AreEqual(1, responses.Count);
            Assert.IsTrue(responses[0].Contains("already"));
            Assert.IsFalse(responses[0].Contains("!catch"));
        }
Ejemplo n.º 9
0
        public void PlayerLeaderboardUserHasNoFishRecords()
        {
            var noRecordsFisher = FisherData.FirstOrDefault(x => x.Records.Count == 0);
            var response        = Module.PlayerLeaderboard(null, noRecordsFisher.UserId);
            var responses       = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.AreEqual(1, responses.Count);
            foreach (var fish in FishData)
            {
                Assert.IsFalse(responses[0].Contains(fish.Name));
            }
        }
Ejemplo n.º 10
0
        public void PushesNotificationOnFishHooked()
        {
            var handlerMock = new Mock <PushNotificationHandler>();

            Module.PushNotification += handlerMock.Object;
            var fisher = FisherData.FirstOrDefault(x => x.UserId.Equals("00"));

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

            Assert.IsTrue(result.Responses.Any(x => x.Contains("!catch")));
        }
Ejemplo n.º 11
0
        public void PlayerLeaderboardProvidesSpecificFishDetails()
        {
            var fisher    = FisherData.FirstOrDefault(x => x.UserId == "00");
            var fish      = fisher.Records[0];
            var response  = Module.PlayerLeaderboard("1", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.IsTrue(responses.Any(x => x.Contains(fish.Fish.Name)));
            Assert.IsTrue(responses.Any(x => x.Contains(fish.Length.ToString())));
            Assert.IsTrue(responses.Any(x => x.Contains(fish.Weight.ToString())));
            Assert.IsTrue(responses.Any(x => x.Contains(fish.Fish.SizeCategory.Name)));
            Assert.IsTrue(responses.Any(x => x.Contains(fish.Fish.FlavorText)));
        }
Ejemplo n.º 12
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()));
        }
Ejemplo n.º 13
0
        public void CatchFishFailsIfLineNotCast()
        {
            var fisher = FisherData.FirstOrDefault(x => x.UserId == "00");

            System.Tournament.StartTournament();
            fisher.Records.Clear();
            fisher.IsFishing = false;
            fisher.Hooked    = null;
            var response  = Module.CatchFish("", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.AreEqual(1, responses.Count);
            Assert.IsTrue(responses[0].Contains("!cast"));
            Assert.IsFalse(fisher.IsFishing);
            Assert.AreEqual(0, fisher.Records.Count);
        }
Ejemplo n.º 14
0
        public void RespondsWithCompactPlayerLeaderboard()
        {
            var fisher    = FisherData.FirstOrDefault(x => x.UserId.Equals("00"));
            var responses = Module.PlayerLeaderboardCompact(null, fisher.UserId);

            Assert.AreEqual(3, responses.Items.Count());
            var compact = responses.ToCompact();

            foreach (var fish in fisher.Records)
            {
                Assert.IsTrue(
                    compact.Any(
                        x => x.Contains(fish.Fish.Name) &&
                        x.Contains(fish.Length.ToString()) &&
                        x.Contains(fish.Weight.ToString())
                        )
                    );
            }
        }
Ejemplo n.º 15
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))));
        }
Ejemplo n.º 16
0
        public void CatchesFish()
        {
            var fisher = FisherData.FirstOrDefault(x => x.UserId == "00");

            System.Tournament.StartTournament();
            fisher.Records.Clear();
            fisher.IsFishing  = true;
            fisher.HookedTime = DateTime.Now;
            fisher.Hooked     = FishData[0];
            var response  = Module.CatchFish("", fisher.UserId);
            var responses = response.Responses;

            Assert.IsTrue(response.Processed);
            Assert.IsNull(response.Errors);
            Assert.AreEqual(2, responses.Count);
            Assert.IsTrue(responses.Any(x => x.Contains("biggest")));
            Assert.IsTrue(responses.All(x => x.Contains(fisher.Records[0].Fish.Name)));
            Assert.IsFalse(fisher.IsFishing);
            Assert.AreEqual(1, fisher.Records.Count);
        }