public void TestGetNextTip3() { // Setup // Mock the TipManager Mock <ITipManager> mockTipManager = new Mock <ITipManager>(); mockTipManager.Setup(m => m.GetPrioritizedTipGroups()).Returns(GenerateTestTipGroups()); // Mock the TipHistoryManager Mock <VSTipHistoryManager> mockTipHistoryManager = new Mock <VSTipHistoryManager>(); TipHistoryInfo tipObj1 = new TipHistoryInfo(); tipObj1.GlobalTipId = "General-GN001"; tipObj1.TipLikeStatus = TipLikeEnum.LIKE; TipHistoryInfo tipObj2 = new TipHistoryInfo(); tipObj2.GlobalTipId = "Editor-ED001"; tipObj2.TipLikeStatus = TipLikeEnum.NORMAL; mockTipHistoryManager.Setup(m => m.GetTipHistory()).Returns(new List <TipHistoryInfo> { tipObj1, tipObj2 }); TipCalculator tipCalculator = new TipCalculator(mockTipHistoryManager.Object, mockTipManager.Object); // Act TipInfo nextTip = tipCalculator.GetNextTip(); // Verify Assert.IsNotNull(nextTip); Assert.AreEqual("General-GN001", nextTip.globalTipId); }
public void TestGetNextTip2() { // Setup Mock <VSTipHistoryManager> mockTipHistoryManager = new Mock <VSTipHistoryManager>(); TipHistoryInfo tipObj1 = new TipHistoryInfo(); tipObj1.GlobalTipId = "General-GN001"; tipObj1.TipLikeStatus = TipLikeEnum.LIKE; TipHistoryInfo tipObj2 = new TipHistoryInfo(); tipObj2.GlobalTipId = "Editor-ED001"; tipObj2.TipLikeStatus = TipLikeEnum.NORMAL; List <TipHistoryInfo> tipsSeen = new List <TipHistoryInfo> { tipObj1, tipObj2 }; mockTipHistoryManager.Setup(m => m.GetTipHistory()).Returns(tipsSeen); TipCalculator tipCalculator = new TipCalculator(mockTipHistoryManager.Object); // Act TipInfo nextTip = tipCalculator.GetNextTip(); // Verify Assert.IsNotNull(nextTip); Assert.AreEqual("General-GN001", nextTip.globalTipId); }
public TipOfTheDayWindow(TipCalculator tipCalculator) { InitializeComponent(); Owner = System.Windows.Application.Current.MainWindow; _tipCalculator = tipCalculator; _tipHistoryManager = tipCalculator.TipHistoryManager; _tipManager = tipCalculator.TipManager; }
public TipOfTheDayWindow(TipCalculator tipCalculator) { InitializeComponent(); Owner = System.Windows.Application.Current.MainWindow; _tipViewModel = new TipViewModel(); this.DataContext = _tipViewModel; _tipCalculator = tipCalculator; _tipHistoryManager = tipCalculator.TipHistoryManager; _tipManager = tipCalculator.TipManager; PopulateDefaultImages(); }
public TipOfTheDayWindow(TipCalculator tipCalculator) { InitializeComponent(); Owner = Application.Current.MainWindow; _tipViewModel = new TipViewModel(); this.DataContext = _tipViewModel; _tipCalculator = tipCalculator; _tipHistoryManager = tipCalculator.TipHistoryManager; _tipManager = tipCalculator.TipManager; // Initialize UI InitializeUIComponents(); }
public static void ShowWindow() { try { // TODO: Perf optimisation: First time, use hard-coded tip. if (IsFirstTime()) { // TODO: Set nextTip to hard-coded First-Tip. // Avoid loading tip parser if user is going to close and never run it again. } _tipManager = new TipManager(); _tipHistoryManager = VSTipHistoryManager.Instance(); _tipCalculator = new TipCalculator(_tipHistoryManager, _tipManager); TipInfo nextTip = GetNewTip(); if (nextTip == null) { // There's no tip to show. Don't show the Tip of the Day window. Debug.WriteLine("Tip of the Day: There's no tip to show. Will not launch TotD dialog."); return; } // We have a tip! Let's create the Tip of the Day UI. TipOfTheDayWindow tipOfTheDayWindow = new TipOfTheDayWindow(_tipCalculator); // Attempt to navigate to the chose tip var success = tipOfTheDayWindow.NavigateToTip(nextTip); if (!success) { // Failed to navigate to tip URI Debug.WriteLine("Tip of the Day: Failed to navigate to tip URI. Will not launch TotD dialog."); return; } // Now show the dialog tipOfTheDayWindow.Show(); // Mark tip as seen _tipHistoryManager.MarkTipAsSeen(nextTip.globalTipId); } catch (Exception e) { // Fail gracefully when window will now show Debug.WriteLine("Unable to open Tip of the Day: " + e.Message); return; } }
public void TestGetAllTips() { // Setup Mock <ITipHistoryManager> mockTipHistoryManager = new Mock <ITipHistoryManager>(); List <string> emptyList = new List <string>(); mockTipHistoryManager.Setup(m => m.GetTipHistory()).Returns(emptyList); TipCalculator tipCalculator = new TipCalculator(mockTipHistoryManager.Object); // Act //List<GroupOfTips>[] allTips = tipCalculator.GetPrioritizedTipGroups(); // Verify //Assert.IsNotNull(allTips); // var tipGroup = allTips[0]; mockTipHistoryManager.Verify(); }
public void TestGetNextTip2() { // Setup Mock <ITipHistoryManager> mockTipHistoryManager = new Mock <ITipHistoryManager>(); List <string> tipsSeen = new List <string> { "General-GN001", "Editor-ED001", "Editor-ED002" }; mockTipHistoryManager.Setup(m => m.GetTipHistory()).Returns(tipsSeen); TipCalculator tipCalculator = new TipCalculator(mockTipHistoryManager.Object); // Act TipInfo nextTip = tipCalculator.GetNextTip(); // Verify Assert.IsNotNull(nextTip); Assert.AreEqual("Editor-ED003", nextTip.globalTipId); }
public void TestGetNextTip3() { // Setup // Mock the TipManager Mock <ITipManager> mockTipManager = new Mock <ITipManager>(); mockTipManager.Setup(m => m.GetPrioritizedTipGroups()).Returns(GenerateTestTipGroups()); // Mock the TipHistoryManager Mock <ITipHistoryManager> mockTipHistoryManager = new Mock <ITipHistoryManager>(); mockTipHistoryManager.Setup(m => m.GetTipHistory()).Returns(new List <string> { "General-GN001", "Editor-ED001", "Editor-ED002" }); TipCalculator tipCalculator = new TipCalculator(mockTipHistoryManager.Object, mockTipManager.Object); // Act TipInfo nextTip = tipCalculator.GetNextTip(); // Verify Assert.IsNotNull(nextTip); Assert.AreEqual("Editor-ED003", nextTip.globalTipId); }