public void OldestUnreadId_Test() { var tab = new TabClass { TabType = MyCommon.TabUsageType.UserTimeline }; tab.UnreadManage = true; // 未読なし Assert.Equal(-1L, tab.OldestUnreadId); tab.AddPostToInnerStorage(new PostClass { StatusId = 100L, IsRead = false, // 未読 }); tab.AddSubmit(); Assert.Equal(100L, tab.OldestUnreadId); tab.AddPostToInnerStorage(new PostClass { StatusId = 50L, IsRead = true, // 既読 }); tab.AddSubmit(); Assert.Equal(100L, tab.OldestUnreadId); }
public void NextUnreadId_DisabledTest() { var tab = new TabClass { TabType = MyCommon.TabUsageType.UserTimeline }; // 未読表示無効 tab.UnreadManage = false; tab.AddPostToInnerStorage(new PostClass { StatusId = 100L, IsRead = false, // 未読 }); tab.AddSubmit(); Assert.Equal(-1L, tab.NextUnreadId); }
public void SetReadState_MarkAsUnreadTest() { var tab = new TabClass { TabType = MyCommon.TabUsageType.UserTimeline }; tab.UnreadManage = true; tab.AddPostToInnerStorage(new PostClass { StatusId = 100L, IsRead = true, // 既読 }); tab.AddSubmit(); Assert.Equal(0, tab.UnreadCount); tab.SetReadState(100L, false); // 未読にする Assert.Equal(1, tab.UnreadCount); }
public void OldestUnreadIndex_DisabledTest() { var tab = new TabClass { TabType = MyCommon.TabUsageType.UserTimeline }; // 未読表示無効 tab.UnreadManage = false; tab.AddPostToInnerStorage(new PostClass { StatusId = 100L, IsRead = false, // 未読 }); tab.AddSubmit(); tab.SortMode = ComparerMode.Id; tab.SortOrder = SortOrder.Ascending; tab.Sort(); Assert.Equal(-1, tab.OldestUnreadIndex); }
public void NextUnreadId_SortByIdAscTest() { var tab = new TabClass { TabType = MyCommon.TabUsageType.UserTimeline }; tab.UnreadManage = true; // ID の昇順でソート tab.SetSortMode(ComparerMode.Id, SortOrder.Ascending); // 画面には上から 100 → 200 → 300 の順に並ぶ tab.AddPostToInnerStorage(new PostClass { StatusId = 100L, IsRead = false }); tab.AddPostToInnerStorage(new PostClass { StatusId = 200L, IsRead = false }); tab.AddPostToInnerStorage(new PostClass { StatusId = 300L, IsRead = false }); tab.AddSubmit(); // 昇順/降順に関わらず、ID の小さい順に未読の ID を返す Assert.Equal(100L, tab.NextUnreadId); }
public void GetUnreadIds_Test() { var tab = new TabClass { TabType = MyCommon.TabUsageType.UserTimeline }; tab.UnreadManage = true; Assert.Empty(tab.GetUnreadIds()); tab.AddPostToInnerStorage(new PostClass { StatusId = 100L, IsRead = false }); tab.AddPostToInnerStorage(new PostClass { StatusId = 200L, IsRead = true }); tab.AddSubmit(); Assert.Equal(new[] { 100L }, tab.GetUnreadIds()); tab.SetReadState(100L, true); // 既読にする Assert.Empty(tab.GetUnreadIds()); }
public void NextUnreadIndex_Test() { var tab = new TabClass { TabType = MyCommon.TabUsageType.UserTimeline }; tab.SetSortMode(ComparerMode.Id, SortOrder.Ascending); tab.UnreadManage = true; // 未読なし Assert.Equal(-1, tab.NextUnreadIndex); tab.AddPostToInnerStorage(new PostClass { StatusId = 50L, IsRead = true, // 既読 }); tab.AddPostToInnerStorage(new PostClass { StatusId = 100L, IsRead = false, // 未読 }); tab.AddPostToInnerStorage(new PostClass { StatusId = 150L, IsRead = false, // 未読 }); tab.AddSubmit(); Assert.Equal(1, tab.NextUnreadIndex); }
public void NextUnreadId_SortByScreenNameDescTest() { var tab = new TabClass { TabType = MyCommon.TabUsageType.UserTimeline }; tab.UnreadManage = true; // ScreenName の降順でソート tab.SetSortMode(ComparerMode.Name, SortOrder.Descending); // 画面には上から 300 → 100 → 200 の順に並ぶ tab.AddPostToInnerStorage(new PostClass { StatusId = 100L, ScreenName = "bbb", IsRead = false }); tab.AddPostToInnerStorage(new PostClass { StatusId = 200L, ScreenName = "aaa", IsRead = false }); tab.AddPostToInnerStorage(new PostClass { StatusId = 300L, ScreenName = "ccc", IsRead = false }); tab.AddSubmit(); // 昇順/降順に関わらず、ScreenName の辞書順で小さい順に未読の ID を返す Assert.Equal(200L, tab.NextUnreadId); }