public static ReferenceReconciler ArrangeReferenceReconciler(
     ReferenceSettings settings,
     out Mock <IMessageBox> messageBox,
     out Mock <IComLibraryProvider> libraryProvider)
 {
     return(ArrangeReferenceReconciler(settings, null, out messageBox, out libraryProvider));
 }
Example #2
0
        public void CopyCtorCopiesAllValues()
        {
            var settings = AddRemoveReferencesSetup.GetNonDefaultReferenceSettings();
            var copy     = new ReferenceSettings(settings);

            Assert.IsTrue(settings.Equals(copy));
        }
Example #3
0
        public void should_not_add_reference_to_assembly_with_ignore()
        {
            var settings = new ReferenceSettings();

            settings.Ignore("FubuCore", "FubuCore.dll");
            settings.ShouldAddReference(new Dependency("FubuCore"), "FubuCore").ShouldBeFalse();
        }
Example #4
0
        public void IsPinnedProject_CorrectResult(string pinned, string tested, string host1, string host2, bool expected)
        {
            var settings = new ReferenceSettings();

            settings.PinReference(new ReferenceInfo(Guid.Empty, string.Empty, pinned, 0, 0), host1);

            Assert.AreEqual(expected, settings.IsPinnedProject(tested, host2));
        }
Example #5
0
        public void RecentReferencesTracked_LimitedToRange(int input, int expected)
        {
            var settings = new ReferenceSettings {
                RecentReferencesTracked = input
            };

            Assert.AreEqual(expected, settings.RecentReferencesTracked);
        }
 public static ReferenceReconciler ArrangeReferenceReconciler(
     ReferenceSettings settings,
     out Mock <IMessageBox> messageBox,
     out Mock <IComLibraryProvider> libraryProvider)
 {
     messageBox      = new Mock <IMessageBox>();
     libraryProvider = new Mock <IComLibraryProvider>();
     return(new ReferenceReconciler(messageBox.Object, GetReferenceSettingsProvider(settings), libraryProvider.Object));
 }
Example #7
0
        public void IsRecentProject_CorrectResult(string pinned, string tested, string host1, string host2, bool expected)
        {
            var settings = new ReferenceSettings {
                RecentReferencesTracked = 20
            };

            settings.TrackUsage(new ReferenceInfo(Guid.Empty, string.Empty, pinned, 0, 0), host1);

            Assert.AreEqual(expected, settings.IsRecentProject(tested, host2));
        }
Example #8
0
        public void PinReference_RejectsDuplicateLibraries()
        {
            var library = new ReferenceInfo(AddRemoveReferencesSetup.DummyGuidOne, "Reference", @"C:\Windows\System32\reference.dll", 1, 0);

            var settings = new ReferenceSettings();

            settings.PinReference(library);
            settings.PinReference(library);

            Assert.AreEqual(1, settings.GetPinnedReferencesForHost(null).Count);
        }
Example #9
0
        public void PinReference_RejectsDuplicateProjects()
        {
            const string host    = "EXCEL.EXE";
            var          project = new ReferenceInfo(Guid.Empty, "RecentProject", @"C:\Users\Rubberduck\Documents\RecentBook.xlsm", 0, 0);

            var settings = new ReferenceSettings();

            settings.PinReference(project, host);
            settings.PinReference(project, host);

            Assert.AreEqual(1, settings.GetPinnedReferencesForHost(host).Count);
        }
Example #10
0
        public void GetRecentReferencesForHostLibraries_LimitedByRecentReferencesTracked()
        {
            const int tracked = 3;

            var settings = new ReferenceSettings {
                RecentReferencesTracked = tracked
            };

            settings.UpdateRecentReferencesForHost(null, AddRemoveReferencesSetup.LibraryReferenceInfoList);

            Assert.AreEqual(tracked, settings.GetRecentReferencesForHost(null).Count);
        }
Example #11
0
        public void TrackUsage_RejectsDuplicateLibraries()
        {
            var library = new ReferenceInfo(AddRemoveReferencesSetup.DummyGuidOne, "Reference", @"C:\Windows\System32\reference.dll", 1, 0);

            var settings = new ReferenceSettings {
                RecentReferencesTracked = 20
            };

            settings.TrackUsage(library);
            settings.TrackUsage(library);

            Assert.AreEqual(1, settings.GetRecentReferencesForHost(null).Count);
        }
        public AddRemoveReferencesUserSettingsViewModel(IConfigProvider <ReferenceSettings> provider, IFileSystemBrowserFactory browserFactory)
        {
            _provider       = provider;
            _browserFactory = browserFactory;
            _clean          = _provider.Create();

            TransferSettingsToView(_clean);

            IncrementRecentReferencesTrackedCommand = new DelegateCommand(null, ExecuteIncrementRecentReferencesTracked, CanExecuteIncrementMaxConcatLines);
            DecrementReferencesTrackedCommand       = new DelegateCommand(null, ExecuteDecrementRecentReferencesTracked, CanExecuteDecrementMaxConcatLines);
            BrowseForPathCommand = new DelegateCommand(null, ExecuteBrowseForPath);
            RemoveSelectedPaths  = new DelegateCommand(null, ExecuteRemoveSelectedPaths);
        }
        public static ReferenceSettings GetDefaultReferenceSettings()
        {
            var defaults = new ReferenceSettings
            {
                RecentReferencesTracked = 20
            };

            defaults.PinReference(new ReferenceInfo(new Guid(RubberduckGuid.RubberduckTypeLibGuid), string.Empty, string.Empty, 2, 4));
            defaults.PinReference(new ReferenceInfo(new Guid(RubberduckGuid.RubberduckApiTypeLibGuid), string.Empty, string.Empty, 2, 4));
            defaults.ProjectPaths.Add(@"C:\Users\Rubberduck\Documents");

            return(defaults);
        }
Example #14
0
        public void GetRecentReferencesForHostProjects_LimitedByRecentReferencesTracked()
        {
            const string host    = "EXCEL.EXE";
            const int    tracked = 3;

            var settings = new ReferenceSettings {
                RecentReferencesTracked = tracked
            };

            settings.UpdateRecentReferencesForHost(host, AddRemoveReferencesSetup.RecentProjectReferenceInfoList);

            Assert.AreEqual(tracked, settings.GetRecentReferencesForHost(host).Count);
        }
Example #15
0
 public AddRemoveReferencesModel(ProjectDeclaration project, IEnumerable <ReferenceModel> references, ReferenceSettings settings)
 {
     Settings   = settings;
     Project    = project;
     References = references.ToList();
     try
     {
         ApplySettingsToModel();
     }
     catch
     {
         //Meh.
     }
 }
 public AddRemoveReferencesModel(RubberduckParserState state, ProjectDeclaration project, IEnumerable <ReferenceModel> references, ReferenceSettings settings)
 {
     State      = state;
     Settings   = settings;
     Project    = project;
     References = references.ToList();
     try
     {
         ApplySettingsToModel();
     }
     catch
     {
         //Meh.
     }
 }
Example #17
0
        public void TrackUsage_KeepsNewestLibraries()
        {
            var settings = new ReferenceSettings {
                RecentReferencesTracked = AddRemoveReferencesSetup.LibraryReferenceInfoList.Count
            };

            settings.UpdateRecentReferencesForHost(null, AddRemoveReferencesSetup.LibraryReferenceInfoList);

            var expected = AddRemoveReferencesSetup.LibraryReferenceInfoList.First();

            settings.TrackUsage(expected);

            var actual = settings.GetRecentReferencesForHost(null).Last();

            Assert.IsTrue(expected.Equals(actual));
        }
Example #18
0
        public void UpdateRecentReferencesForHost_RejectsDuplicateProjects()
        {
            const string host    = "EXCEL.EXE";
            var          project = new ReferenceInfo(Guid.Empty, "RecentProject", @"C:\Users\Rubberduck\Documents\RecentBook.xlsm", 0, 0);

            var settings = new ReferenceSettings {
                RecentReferencesTracked = 20
            };

            settings.UpdateRecentReferencesForHost(host, new List <ReferenceInfo> {
                project
            });
            settings.UpdateRecentReferencesForHost(host, new List <ReferenceInfo> {
                project
            });

            Assert.AreEqual(1, settings.GetRecentReferencesForHost(host).Count);
        }
Example #19
0
        public void TrackUsage_KeepsNewestProjects()
        {
            const string host = "EXCEL.EXE";

            var settings = new ReferenceSettings {
                RecentReferencesTracked = AddRemoveReferencesSetup.ProjectReferenceInfoList.Count
            };

            settings.UpdateRecentReferencesForHost(host, AddRemoveReferencesSetup.ProjectReferenceInfoList);

            var expected = AddRemoveReferencesSetup.ProjectReferenceInfoList.First();

            settings.TrackUsage(expected, host);

            var actual = settings.GetRecentReferencesForHost(host).Last();

            Assert.IsTrue(expected.Equals(actual));
        }
        public static ReferenceSettings GetNonDefaultReferenceSettings()
        {
            var settings = new ReferenceSettings
            {
                RecentReferencesTracked      = 42,
                FixBrokenReferences          = true,
                AddToRecentOnReferenceEvents = true,
                ProjectPaths = new List <string> {
                    @"C:\Users\SomeOtherUser\Documents"
                }
            };

            settings.UpdatePinnedReferencesForHost(null, LibraryReferenceInfoList);
            settings.UpdatePinnedReferencesForHost("EXCEL.EXE", ProjectReferenceInfoList);
            settings.UpdateRecentReferencesForHost(null, RecentLibraryReferenceInfoList);
            settings.UpdateRecentReferencesForHost("EXCEL.EXE", RecentProjectReferenceInfoList);

            return(settings);
        }
        public static Mock <IAddRemoveReferencesModel> ArrangeAddRemoveReferencesModel(List <ReferenceModel> input, List <ReferenceModel> output, ReferenceSettings settings = null)
        {
            var model = new Mock <IAddRemoveReferencesModel>();

            model.Setup(p => p.HostApplication).Returns("EXCEL.EXE");
            model.Setup(p => p.Settings).Returns(settings);
            model.Setup(p => p.References).Returns(input);
            model.Setup(p => p.NewReferences).Returns(output);

            return(model);
        }
Example #22
0
        public void should_add_reference_to_assembly_with_no_ignore()
        {
            var settings = new ReferenceSettings();

            settings.ShouldAddReference(new Dependency("FubuCore"), "FubuCore").ShouldBeTrue();
        }
 public static ReferenceReconciler ArrangeReferenceReconciler(ReferenceSettings settings = null)
 {
     return(ArrangeReferenceReconciler(settings, out _, out _));
 }
        public static Mock <IConfigurationService <ReferenceSettings> > GetMockReferenceSettingsProvider(ReferenceSettings settings = null)
        {
            var output = new Mock <IConfigurationService <ReferenceSettings> >();

            output.Setup(m => m.Read()).Returns(() => settings ?? GetDefaultReferenceSettings());
            output.Setup(m => m.ReadDefaults()).Returns(GetDefaultReferenceSettings);
            output.Setup(m => m.Save(It.IsAny <ReferenceSettings>()));

            return(output);
        }
 public static IConfigurationService <ReferenceSettings> GetReferenceSettingsProvider(ReferenceSettings settings = null)
 {
     return(GetMockReferenceSettingsProvider(settings).Object);
 }
 public static ReferenceReconciler ArrangeReferenceReconciler(IProjectsProvider projectsProvider, ReferenceSettings settings = null)
 {
     return(ArrangeReferenceReconciler(settings, projectsProvider, out _, out _));
 }
Example #27
0
 private static AddRemoveReferencesUserSettingsViewModel GetSettingsViewModel(ReferenceSettings settings)
 {
     return(new AddRemoveReferencesUserSettingsViewModel(AddRemoveReferencesSetup.GetReferenceSettingsProvider(settings), new Mock <IFileSystemBrowserFactory>().Object, null, new Mock <IFileSystem>().Object));
 }