コード例 #1
0
        public void IsInvisibleTest()
        {
            var messageMock = new Mock <ITwitchComment>();

            messageMock.Setup(m => m.Id).Returns("");
            var metadataMock         = new Mock <IMessageMetadata>();
            var methodsMock          = new Mock <IMessageMethods>();
            var connectionStatusMock = new Mock <IConnectionStatus>();
            var optionsMock          = new Mock <IOptions>();

            var message          = messageMock.Object;
            var metadata         = metadataMock.Object;
            var methods          = methodsMock.Object;
            var connectionStatus = connectionStatusMock.Object;
            var options          = optionsMock.Object;

            var cvm       = new TwitchCommentViewModel(message, metadata, methods, connectionStatus, options);
            var isVisible = true;

            cvm.PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(metadata.IsVisible):
                    isVisible = cvm.IsVisible;
                    break;
                }
            };
            metadataMock.Setup(u => u.IsVisible).Returns(false);
            metadataMock.Raise(c => c.PropertyChanged += null, new PropertyChangedEventArgs(nameof(metadata.IsVisible)));
            Assert.IsFalse(isVisible);
        }
コード例 #2
0
        public void VisibilityTest(bool isNgUser, bool isVisible)
        {
            var options     = new Mock <ICommentOptions>();
            var siteOptions = new Mock <ITwitchSiteOptions>();

            siteOptions.Setup(o => o.NeedAutoSubNickname).Returns(true);
            var userMock        = new Mock <IUser>();
            var commentDataMock = new Mock <ICommentData>();

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

            Assert.AreEqual(isVisible, cvm.IsVisible);
        }
コード例 #3
0
        public void IsFirstCommentTest()
        {
            var fontFamily      = new FontFamily("Meiryo");
            var fontStyle       = FontStyles.Italic;
            var fontWeight      = FontWeights.Black;
            var fontSize        = 14;
            var firstFontFamily = new FontFamily("Yu Gothic");
            var firstFontStyle  = FontStyles.Oblique;
            var firstFontWeight = FontWeights.Bold;
            var firstFontSize   = 20;

            var connectionNameMock = new Mock <ConnectionName>();
            var optionsMock        = new Mock <IOptions>();

            optionsMock.Setup(m => m.FontFamily).Returns(fontFamily);
            optionsMock.Setup(m => m.FontStyle).Returns(fontStyle);
            optionsMock.Setup(m => m.FontWeight).Returns(fontWeight);
            optionsMock.Setup(m => m.FontSize).Returns(fontSize);
            optionsMock.Setup(m => m.FirstCommentFontFamily).Returns(firstFontFamily);
            optionsMock.Setup(m => m.FirstCommentFontStyle).Returns(firstFontStyle);
            optionsMock.Setup(m => m.FirstCommentFontWeight).Returns(firstFontWeight);
            optionsMock.Setup(m => m.FirstCommentFontSize).Returns(firstFontSize);

            var siteOptionsMock = new Mock <TwitchSiteOptions>();
            var data            = new Mock <ICommentData>();

            data.Setup(m => m.UserId).Returns("");
            data.Setup(m => m.Username).Returns("");
            data.Setup(m => m.Message).Returns("");
            data.Setup(m => m.Emotes).Returns("");


            var low      = new Mock <TwitchSitePlugin.LowObject.Emoticons>();
            var cvmFirst = new TwitchCommentViewModel(connectionNameMock.Object, optionsMock.Object, siteOptionsMock.Object, data.Object, low.Object, true);

            Assert.AreEqual(firstFontFamily, cvmFirst.FontFamily);
            Assert.AreEqual(firstFontStyle, cvmFirst.FontStyle);
            Assert.AreEqual(firstFontWeight, cvmFirst.FontWeight);
            Assert.AreEqual(firstFontSize, cvmFirst.FontSize);

            var cvm = new TwitchCommentViewModel(connectionNameMock.Object, optionsMock.Object, siteOptionsMock.Object, data.Object, low.Object, false);

            Assert.AreEqual(fontFamily, cvm.FontFamily);
            Assert.AreEqual(fontStyle, cvm.FontStyle);
            Assert.AreEqual(fontWeight, cvm.FontWeight);
            Assert.AreEqual(fontSize, cvm.FontSize);
        }
コード例 #4
0
        private TwitchCommentViewModel CreateCvm(IUser user, string username, string message)
        {
            var options     = new Mock <ICommentOptions>();
            var siteOptions = new TwitchSiteOptions
            {
                NeedAutoSubNickname = true
            };
            var commentDataMock = new Mock <ICommentData>();

            commentDataMock.SetupGet(c => c.Username).Returns(username);
            commentDataMock.SetupGet(c => c.Message).Returns(message);
            var userMock        = new Mock <IUser>();
            var commentProvider = new Mock <ICommentProvider>();
            var cvm             = new TwitchCommentViewModel(options.Object, siteOptions, commentDataMock.Object, false, commentProvider.Object, user);

            return(cvm);
        }
コード例 #5
0
        public void 途中でNGユーザに指定された時に非表示になるか()
        {
            var userId      = "abc";
            var options     = new Mock <ICommentOptions>();
            var siteOptions = new Mock <ITwitchSiteOptions>();

            siteOptions.Setup(o => o.NeedAutoSubNickname).Returns(true);
            var user = new UserTest(userId)
            {
                IsNgUser = false
            };
            var commentDataMock = new Mock <ICommentData>();
            var commentProvider = new Mock <ICommentProvider>();

            var cvm = new TwitchCommentViewModel(options.Object, siteOptions.Object, commentDataMock.Object, false, commentProvider.Object, user);

            Assert.IsTrue(cvm.IsVisible);
            user.IsNgUser = true;
            Assert.IsFalse(cvm.IsVisible);
        }