public void EnqueueRemovePost_SelectedTest() { var tab = new PublicSearchTabModel("search"); tab.AddPostQueue(new PostClass { StatusId = 100L }); tab.AddPostQueue(new PostClass { StatusId = 110L }); tab.AddSubmit(); tab.SelectPosts(new[] { 0, 1 }); Assert.Equal(2, tab.AllCount); Assert.Equal(new[] { 100L, 110L }, tab.SelectedStatusIds); tab.EnqueueRemovePost(100L, setIsDeleted: false); // この時点では変化しない Assert.Equal(2, tab.AllCount); Assert.Equal(new[] { 100L, 110L }, tab.SelectedStatusIds); tab.RemoveSubmit(); // 削除された発言の選択が解除される Assert.Equal(1, tab.AllCount); Assert.Equal(new[] { 110L }, tab.SelectedStatusIds); }
public void EnqueueRemovePost_SetIsDeletedTest() { var tab = new PublicSearchTabModel("search") { UnreadManage = true, }; var post = new PostClass { StatusId = 100L, IsRead = false }; tab.AddPostQueue(post); tab.AddSubmit(); Assert.Equal(1, tab.AllCount); Assert.Equal(1, tab.UnreadCount); tab.EnqueueRemovePost(100L, setIsDeleted: true); // この時点ではタブからの削除は行われないが、PostClass.IsDeleted は true にセットされる Assert.Equal(1, tab.AllCount); Assert.Equal(1, tab.UnreadCount); Assert.True(post.IsDeleted); var removedIds = tab.RemoveSubmit(); Assert.Equal(0, tab.AllCount); Assert.Equal(0, tab.UnreadCount); Assert.Equal(new[] { 100L }, removedIds.AsEnumerable()); }
public void EnqueueRemovePost_UnknownIdTest() { var tab = new PublicSearchTabModel("search") { UnreadManage = true, }; tab.AddPostQueue(new PostClass { StatusId = 100L, IsRead = false }); tab.AddSubmit(); Assert.Equal(1, tab.AllCount); Assert.Equal(1, tab.UnreadCount); // StatusId = 999L は存在しない tab.EnqueueRemovePost(999L, setIsDeleted: false); Assert.Equal(1, tab.AllCount); Assert.Equal(1, tab.UnreadCount); var removedIds = tab.RemoveSubmit(); Assert.Equal(1, tab.AllCount); Assert.Equal(1, tab.UnreadCount); Assert.Empty(removedIds); }
public void EnqueueRemovePost_Test() { var tab = new PublicSearchTabModel("search") { UnreadManage = true, }; tab.AddPostQueue(new PostClass { StatusId = 100L, IsRead = false }); tab.AddPostQueue(new PostClass { StatusId = 110L, IsRead = false }); tab.AddPostQueue(new PostClass { StatusId = 120L, IsRead = false }); tab.AddSubmit(); Assert.Equal(3, tab.AllCount); Assert.Equal(3, tab.UnreadCount); tab.EnqueueRemovePost(100L, setIsDeleted: false); // この時点では削除は行われない Assert.Equal(3, tab.AllCount); Assert.Equal(3, tab.UnreadCount); var removedIds = tab.RemoveSubmit(); Assert.Equal(2, tab.AllCount); Assert.Equal(2, tab.UnreadCount); Assert.Equal(new[] { 110L, 120L }, tab.StatusIds); Assert.Equal(new[] { 100L }, removedIds.AsEnumerable()); }