示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        public TipOfTheDayWindow(TipCalculator tipCalculator)
        {
            InitializeComponent();
            Owner = System.Windows.Application.Current.MainWindow;

            _tipCalculator     = tipCalculator;
            _tipHistoryManager = tipCalculator.TipHistoryManager;
            _tipManager        = tipCalculator.TipManager;
        }
示例#4
0
        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();
        }
示例#5
0
        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();
        }
示例#6
0
        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);
        }