public void GetActiveUsersTest() { var currentDir = Directory.GetCurrentDirectory(); var fileName = "members.json"; var filePath = Path.Combine(currentDir, fileName); Members.Initailze(filePath); var target = new Members(); target.Read(filePath); var result = target.GetActiveUsers(2); var expected = 2; var actual = result.Count(); Assert.AreEqual(expected, actual); }
static void Main(string[] args) { Console.WriteLine("---- 処理開始 ----"); //ディレクトリ var currentDir = Directory.GetCurrentDirectory(); var messageFilePath = Path.Combine(currentDir, MESSAGE_DIR); //メッセージの読み込み var message = new Message(); message.Read(messageFilePath); var mailList = new List<IMail>(); //メンバー情報 var members = new Members(); var memberFilePath = Path.Combine(currentDir, MEMBER_FILE); //HACK:メンバーファイルを初期化したいときに使用する Members.Initailze(memberFilePath); //メンバーファイル読み込み members.Read(memberFilePath); var activeUsers = members.GetActiveUsers(message.Messages.Count()); foreach (var user in activeUsers) { var index = user.Count - 1; var selectMessage = message.Messages[index]; mailList.Add(Mail.CreateMail(user.Mail, string.Empty, user.Count, selectMessage)); } foreach (var mail in mailList) { mail.Send(); } members.CountUp(); //メンバーファイルの更新 var val = members.Serialize(); Members.Save(memberFilePath, val); //終了 Console.WriteLine("---- 処理終了 ----"); Console.ReadKey(); }