public void VisibilityTest(bool isNgUser, bool isVisible)
        {
            var options     = new Mock <ICommentOptions>();
            var siteOptions = new Mock <IYouTubeLiveSiteOptions>();

            siteOptions.Setup(s => s.IsAutoSetNickname).Returns(true);
            var userMock        = new Mock <IUser>();
            var commentDataMock = new Mock <CommentData>();

            userMock.Setup(u => u.IsNgUser).Returns(isNgUser);
            var cp  = new Mock <ICommentProvider>();
            var cvm = new YouTubeLiveCommentViewModel(options.Object, siteOptions.Object, commentDataMock.Object, cp.Object, false, userMock.Object);

            Assert.AreEqual(isVisible, cvm.IsVisible);
        }
        public void 途中でNGユーザに指定された時に非表示になるか()
        {
            var userId      = "abc";
            var options     = new Mock <ICommentOptions>();
            var siteOptions = new Mock <IYouTubeLiveSiteOptions>();

            siteOptions.Setup(s => s.IsAutoSetNickname).Returns(true);
            var user = new UserTest(userId)
            {
                IsNgUser = false
            };
            var commentDataMock = new Mock <CommentData>();
            var cp  = new Mock <ICommentProvider>();
            var cvm = new YouTubeLiveCommentViewModel(options.Object, siteOptions.Object, commentDataMock.Object, cp.Object, false, user);

            Assert.IsTrue(cvm.IsVisible);
            user.IsNgUser = true;
            Assert.IsFalse(cvm.IsVisible);
        }
        private YouTubeLiveCommentViewModel CreateCvm(IUser user, string username, string message)
        {
            var options     = new Mock <ICommentOptions>();
            var siteOptions = new Mock <IYouTubeLiveSiteOptions>();

            siteOptions.Setup(s => s.IsAutoSetNickname).Returns(true);
            var commentData = new CommentData
            {
                MessageItems = new List <IMessagePart> {
                    MessagePartFactory.CreateMessageText(message)
                },
                NameItems = new List <IMessagePart> {
                    MessagePartFactory.CreateMessageText(username)
                },
            };
            var cp  = new Mock <ICommentProvider>();
            var cvm = new YouTubeLiveCommentViewModel(options.Object, siteOptions.Object, commentData, cp.Object, false, user);

            return(cvm);
        }