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); }
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); }
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); }
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); }
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); }