private void AddSolution([NotNull] SolutionGroup group, Solution solution = null) { ThrowIfNull(group, nameof(group)); if (solution == null) { var path = View.BrowseSolution(group); if (!IsNullOrEmpty(path)) { solution = new Solution(_viewStateProvider, _fileSystem, group, path); } } if (solution == null) { return; } solution.ComputeProperties(); solution.OpenSolutionCanExecute += solution_OpenSolutionCanExecute; solution.OpenSolutionExecuted += solution_OpenSolutionExecuted; solution.AlterSolutionCanExecute += solution_AlterSolutionCanExecute; solution.AlterSolutionExecuted += solution_AlterSolutionExecuted; solution.PropertyChanged += Solution_PropertyChanged; group.Solutions.Add(solution); }
public void Ctor_Filled() { // Arrange var vsp = Mock.Create <IViewStateProvider>(); Mock.Arrange(() => vsp.EditModeEnabled).Returns(true); var fileSystem = Mock.Create <IFileSystem>(); var group = new SolutionGroup(vsp); var sln = new Solution(vsp, fileSystem, group, @"C:\Users\Administrator\foo.sln"); sln.ComputeProperties(); // Act // Do nothing // Assert Assert.IsNotNull(sln.ComputedSolutionDirectory); Assert.IsTrue(sln.EditModeEnabled); Assert.IsNotNull(sln.FileSystem); Assert.IsNotNull(sln.ParentGroup); Assert.IsTrue(sln.SolutionAvailable); Assert.IsNotNull(sln.SolutionDirectory); Assert.IsTrue(sln.SolutionDirectoryAvailable); Assert.IsNotNull(sln.SolutionDisplayName); Assert.IsNotNull(sln.SolutionPath); Assert.IsNotNull(sln.ComputedSolutionPath); Assert.IsNotNull(sln.ViewStateProvider); }
private Solution BrowseSolution(SolutionGroup group) { var ofd = new OpenFileDialog { CheckFileExists = true, CheckPathExists = true, DefaultExt = ".sln", Filter = "Solution (*.sln)|*.sln|" + "All files (*.*)|*.*", AddExtension = true, Multiselect = false, ValidateNames = true, Title = "Browse for solution or other file..." }; if (ofd.ShowDialog() == true) { return(new Solution(group) { SolutionPath = ofd.FileName }); } return(null); }
private void RemoveGroup(SolutionGroup group) { ThrowIfNull(group, nameof(group)); group.AlterSolutionGroupCanExecute -= solutionGroup_AlterSolutionGroupCanExecute; group.AlterSolutionGroupExecuted -= solutionGroup_AlterSolutionGroupExecuted; ViewModel.SolutionGroups.Remove(group); }
private SolutionGroup AddGroup(string groupName = "Group Name") { var newGroup = new SolutionGroup(_viewStateProvider) { GroupName = groupName ?? Empty }; newGroup.AlterSolutionGroupCanExecute += solutionGroup_AlterSolutionGroupCanExecute; newGroup.AlterSolutionGroupExecuted += solutionGroup_AlterSolutionGroupExecuted; ViewModel.SolutionGroups.Add(newGroup); return(newGroup); }
private SolutionGroup AddGroup(string groupName = "Group Name") { var newGroup = new SolutionGroup { GroupName = groupName }; newGroup.AlterSolutionGroupCanExecute += solutionGroup_AlterSolutionGroupCanExecute; newGroup.AlterSolutionGroupExecuted += solutionGroup_AlterSolutionGroupExecuted; _vm.SolutionGroups.Add(newGroup); return(newGroup); }
public void Ctor_Empty() { // Arrange var group = new SolutionGroup(); // Act // Do nothing // Assert Assert.IsNull(group.ViewStateProvider); Assert.IsNull(group.GroupName); Assert.IsNull(group.Solutions); }
public void EditModeEnabled_Get() { // Arrange var vsp = Mock.Create <IViewStateProvider>(); var group = new SolutionGroup(vsp); Mock.Arrange(() => vsp.EditModeEnabled).Returns(true); // Act // Do nothing // Assert Assert.IsTrue(group.EditModeEnabled); }
public void Ctor_Filled() { // Arrange var vsp = Mock.Create <IViewStateProvider>(); var group = new SolutionGroup(vsp); // Act // Do nothing // Assert Assert.AreEqual(vsp, group.ViewStateProvider); Assert.AreEqual(String.Empty, group.GroupName); Assert.IsNotNull(group.Solutions); }
public void TriggerAlterSolutionGroup_Executed_Subscribed() { // Arrange var group = new SolutionGroup(); var invoked = false; group.AlterSolutionGroupExecuted += (sender, args) => invoked = true; // Act group.TriggerAlterSolutionGroup_Executed(null); // Assert Assert.IsTrue(invoked); }
public void GroupName_GetSet() { // Arrange var group = new SolutionGroup(); var invoked = false; group.PropertyChanged += (sender, args) => invoked = true; // Act group.GroupName = "foo"; // Assert Assert.AreEqual("foo", group.GroupName); Assert.IsTrue(invoked); }
public void ParentGroup_GetSet() { // Arrange var sln = new Solution(); var invoked = false; sln.PropertyChanged += (sender, args) => invoked = true; var group = new SolutionGroup(); // Act sln.ParentGroup = group; // Assert Assert.AreSame(group, sln.ParentGroup); Assert.IsFalse(invoked); }
public void ViewStateProvider_GetSet() { // Arrange var group = new SolutionGroup(); var invoked = false; group.PropertyChanged += (sender, args) => invoked = true; var vsp = Mock.Create <IViewStateProvider>(); // Act group.ViewStateProvider = vsp; // Assert Assert.AreSame(vsp, group.ViewStateProvider); Assert.IsFalse(invoked); }
public void ViewStateProvider_GetSet_PropertyChanged() { // Arrange var group = new SolutionGroup(); var invoked = false; group.PropertyChanged += (sender, args) => invoked = true; var vsp = Mock.Create <IViewStateProvider>(); group.ViewStateProvider = vsp; // Act Mock.Raise(() => vsp.PropertyChanged += null, new PropertyChangedEventArgs(null)); // Assert Assert.IsTrue(invoked); }
private void AddSolution(SolutionGroup group, Solution solution = null) { if (solution == null) { solution = BrowseSolution(group); } if (solution == null) { return; } solution.OpenSolutionCanExecute += solution_OpenSolutionCanExecute; solution.OpenSolutionExecuted += solution_OpenSolutionExecuted; solution.AlterSolutionCanExecute += solution_AlterSolutionCanExecute; solution.AlterSolutionExecuted += solution_AlterSolutionExecuted; group.Solutions.Add(solution); }
public void Solutions_GetSet() { // Arrange var group = new SolutionGroup(); var invoked = false; group.PropertyChanged += (sender, args) => invoked = true; var sln = new Solution(); // Act group.Solutions = new ObservableCollection <Solution> { sln }; // Assert Assert.AreSame(sln, group.Solutions.Single()); Assert.IsFalse(invoked); }
string ISolutionPageView.BrowseSolution(SolutionGroup solutionGroup) { var ofd = new OpenFileDialog { CheckFileExists = true, CheckPathExists = true, DefaultExt = ".sln", Filter = @"Solution (*.sln)|*.sln|" + @"All files (*.*)|*.*", AddExtension = true, Multiselect = false, ValidateNames = true, Title = @"Browse for solution or other file..." }; return(ofd.ShowDialog() == true ? ofd.FileName : null); }
public void ApplyViewModel_Success() { // Arrange var config = new SolutionPageConfiguration(); var vm = Mock.Create <ISolutionPageViewModel>(); var group = new SolutionGroup(); Mock.Arrange(() => vm.Columns).Returns(2); Mock.Arrange(() => vm.SolutionGroups).Returns(new ObservableCollection <SolutionGroup> { group }); // Act var result = config.ApplyViewModel(vm); // Assert Assert.IsNotNull(result); Assert.AreEqual(2, result.Columns); Assert.AreEqual(group, result.SolutionGroups.Single()); }
Solution ISolutionPageView.BrowseSolution(SolutionGroup solutionGroup) { return(RealSubject.BrowseSolution(solutionGroup)); }
private void RemoveGroup(SolutionGroup group) { group.AlterSolutionGroupCanExecute -= solutionGroup_AlterSolutionGroupCanExecute; group.AlterSolutionGroupExecuted -= solutionGroup_AlterSolutionGroupExecuted; _vm.SolutionGroups.Remove(group); }