public void checkEpicComeback() { IAchievementGainer _epiccomeback = new EpicComebackGain(); NpgsqlConnection connection = new NpgsqlConnection(_connstring); connection.Open(); User popo = User.NewUser("Popo"); IHabitRepository habitRepo = new PostgresHabitRepository(connection, null); IBadgeRepository badgeRepo = new PostgresBadgeRepository(connection, null); Habit belajar = Habit.addNewHabit(popo.ID, "Belajar", new string[] { "Sat", "Mon" }); habitRepo.Create(belajar); Habit olahraga = Habit.addNewHabit(popo.ID, "Olahraga", new string[] { "Mon" }); habitRepo.Create(olahraga); List <Habit> habitList = new List <Habit>(); habitList.Add(belajar); habitList.Add(olahraga); AbcApplication daily = new HabitTracker(habitList); ILogsRepository repoLogs = new PostgresLogsRepository(connection, null); Track track; track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 7)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 18)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 19)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 20)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 21)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 22)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 23)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 24)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 25)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 26)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 27)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 28)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 29)); daily.Do(track); repoLogs.AddLogs(track); track = new HabitTrack(belajar, popo.ID, new DateTime(2020, 3, 30)); daily.Do(track); repoLogs.AddLogs(track); Habit founded_habit = habitRepo.FindByIdAndUserId(belajar.ID, popo.ID); List <DateTime> h = founded_habit.Log.GetLogDate; int listSize = founded_habit.Log.GetLogDate.Count; if (founded_habit.isEpicComeback()) { badgeRepo.CreateBadge(_epiccomeback.GainAchievement(popo.ID), founded_habit.Log.GetLogDate[listSize - 1]); } Assert.True(founded_habit.isEpicComeback() == true); }