-
Notifications
You must be signed in to change notification settings - Fork 167
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
-Added OpenFileDialog -Added SaveFileDialog -Added DialogService -Added public/private key generation -Fixed build scripts to build and run AdminTool tests and package the output
- Loading branch information
1 parent
05969b8
commit ecf7f74
Showing
48 changed files
with
2,093 additions
and
780 deletions.
There are no files selected for viewing
68 changes: 68 additions & 0 deletions
68
Rhino.Licensing.AdminTool.Tests/Dialogs/FileDialogTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,68 @@ | |||
using System.Windows.Forms; | |||
using Rhino.Licensing.AdminTool.ViewModels; | |||
using Rhino.Mocks; | |||
using Xunit; | |||
using System.Linq; | |||
using FileDialog = Rhino.Licensing.AdminTool.Dialogs.FileDialog; | |||
|
|||
namespace Rhino.Licensing.AdminTool.Tests.Dialogs | |||
{ | |||
public class FileDialogTests | |||
{ | |||
[Fact] | |||
public void ShowDialog_Sets_Selected_Files() | |||
{ | |||
var dialogForm = MockRepository.GenerateMock<System.Windows.Forms.FileDialog>(); | |||
|
|||
var model = new OpenFileDialogViewModel(); | |||
var dialog = new TestFileDialog(dialogForm, model); | |||
|
|||
dialogForm.Expect(x => x.ShowDialog()).Return(DialogResult.OK); | |||
dialogForm.Expect(x => x.FileName).Return("License.lic"); | |||
dialogForm.Expect(x => x.FileNames).Return(new[] {"License.lic", "License2.lic"}); | |||
|
|||
dialog.ShowDialog(); | |||
|
|||
Assert.Equal("License.lic", model.FileName); | |||
Assert.Contains("License.lic", model.FileNames); | |||
Assert.Contains("License2.lic", model.FileNames); | |||
Assert.Equal(2, model.FileNames.Count()); | |||
} | |||
|
|||
[Fact] | |||
public void Dialog_Disposes_Upon_Destruction() | |||
{ | |||
var dialogForm = MockRepository.GenerateMock<System.Windows.Forms.FileDialog>(); | |||
|
|||
var model = new OpenFileDialogViewModel(); | |||
var dialog = new TestFileDialog(dialogForm, model); | |||
|
|||
dialog.ShowDialog(); | |||
dialog.Dispose(); | |||
|
|||
dialogForm.AssertWasCalled(x => x.Dispose(), x => x.Repeat.Once()); | |||
} | |||
|
|||
public class TestFileDialog : FileDialog | |||
{ | |||
private System.Windows.Forms.FileDialog _dialog; | |||
private IFileDialogViewModel _viewModel; | |||
|
|||
public TestFileDialog(System.Windows.Forms.FileDialog dialog, IFileDialogViewModel viewModel) | |||
{ | |||
_dialog = dialog; | |||
_viewModel = viewModel; | |||
} | |||
|
|||
protected override System.Windows.Forms.FileDialog Dialog | |||
{ | |||
get { return _dialog; } | |||
} | |||
|
|||
public override IFileDialogViewModel ViewModel | |||
{ | |||
get { return _viewModel; } | |||
} | |||
} | |||
} | |||
} |
56 changes: 56 additions & 0 deletions
56
Rhino.Licensing.AdminTool.Tests/Dialogs/OpenFileDialogTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,56 @@ | |||
using Rhino.Licensing.AdminTool.Dialogs; | |||
using Rhino.Licensing.AdminTool.ViewModels; | |||
using Xunit; | |||
|
|||
namespace Rhino.Licensing.AdminTool.Tests.Dialogs | |||
{ | |||
public class OpenFileDialogTests | |||
{ | |||
[Fact] | |||
public void Dialog_Wires_Model_Properties() | |||
{ | |||
var model = CreateOpenFileDialogModel(); | |||
var dialog = new OpenFileDialogStub(model); | |||
var dialogForm = dialog.GetCoreDialog(); | |||
|
|||
Assert.True(dialogForm.AddExtension); | |||
Assert.True(dialogForm.CheckFileExists); | |||
Assert.True(dialogForm.CheckPathExists); | |||
Assert.False(dialogForm.Multiselect); | |||
Assert.Equal("rlic", dialogForm.DefaultExt); | |||
Assert.Equal("Rhino License Project|*.rlic", dialogForm.Filter); | |||
Assert.Equal("C:\\", dialogForm.InitialDirectory); | |||
Assert.Equal("Open File Dialog", dialogForm.Title); | |||
} | |||
|
|||
private IOpenFileDialogViewModel CreateOpenFileDialogModel() | |||
{ | |||
var model = new OpenFileDialogViewModel | |||
{ | |||
AddExtension = true, | |||
CheckFileExists = true, | |||
CheckPathExists = true, | |||
DefaultExtension = "rlic", | |||
Filter = "Rhino License Project|*.rlic", | |||
InitialDirectory = "C:\\", | |||
MultiSelect = false, | |||
Title = "Open File Dialog" | |||
}; | |||
|
|||
return model; | |||
} | |||
|
|||
public class OpenFileDialogStub : OpenFileDialog | |||
{ | |||
public OpenFileDialogStub(IOpenFileDialogViewModel viewModel) | |||
: base(viewModel) | |||
{ | |||
} | |||
|
|||
public System.Windows.Forms.OpenFileDialog GetCoreDialog() | |||
{ | |||
return base.Dialog as System.Windows.Forms.OpenFileDialog; | |||
} | |||
} | |||
} | |||
} |
58 changes: 58 additions & 0 deletions
58
Rhino.Licensing.AdminTool.Tests/Dialogs/SaveFileDialogTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,58 @@ | |||
using Rhino.Licensing.AdminTool.Dialogs; | |||
using Rhino.Licensing.AdminTool.ViewModels; | |||
using Xunit; | |||
|
|||
namespace Rhino.Licensing.AdminTool.Tests.Dialogs | |||
{ | |||
public class SaveFileDialogTests | |||
{ | |||
[Fact] | |||
public void Dialog_Wires_Model_Properties() | |||
{ | |||
var model = CreateOpenFileDialogModel(); | |||
var dialog = new OpenFileDialogStub(model); | |||
var dialogForm = dialog.GetCoreDialog(); | |||
|
|||
Assert.True(dialogForm.AddExtension); | |||
Assert.True(dialogForm.CheckFileExists); | |||
Assert.True(dialogForm.CheckPathExists); | |||
Assert.True(dialogForm.OverwritePrompt); | |||
Assert.True(dialogForm.SupportMultiDottedExtensions); | |||
Assert.Equal("rlic", dialogForm.DefaultExt); | |||
Assert.Equal("Rhino License Project|*.rlic", dialogForm.Filter); | |||
Assert.Equal("C:\\", dialogForm.InitialDirectory); | |||
Assert.Equal("Save File Dialog", dialogForm.Title); | |||
} | |||
|
|||
private ISaveFileDialogViewModel CreateOpenFileDialogModel() | |||
{ | |||
var model = new SaveFileDialogViewModel | |||
{ | |||
AddExtension = true, | |||
CheckFileExists = true, | |||
CheckPathExists = true, | |||
OverwritePrompt = true, | |||
SupportMultiDottedExtensions = true, | |||
DefaultExtension = "rlic", | |||
Filter = "Rhino License Project|*.rlic", | |||
InitialDirectory = "C:\\", | |||
Title = "Save File Dialog", | |||
}; | |||
|
|||
return model; | |||
} | |||
|
|||
public class OpenFileDialogStub : SaveFileDialog | |||
{ | |||
public OpenFileDialogStub(ISaveFileDialogViewModel viewModel) | |||
: base(viewModel) | |||
{ | |||
} | |||
|
|||
public System.Windows.Forms.SaveFileDialog GetCoreDialog() | |||
{ | |||
return base.Dialog as System.Windows.Forms.SaveFileDialog; | |||
} | |||
} | |||
} | |||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
18 changes: 18 additions & 0 deletions
18
Rhino.Licensing.AdminTool.Tests/Models/ProjectModelTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,18 @@ | |||
using Rhino.Licensing.AdminTool.Model; | |||
using Xunit; | |||
using Caliburn.Testability.Extensions; | |||
|
|||
namespace Rhino.Licensing.AdminTool.Tests.Models | |||
{ | |||
public class ProjectModelTests | |||
{ | |||
[Fact] | |||
public void Project_Fires_Property_Changed() | |||
{ | |||
var project = new Project(); | |||
|
|||
project.AssertThatAllProperties() | |||
.RaiseChangeNotification(); | |||
} | |||
} | |||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
76 changes: 76 additions & 0 deletions
76
Rhino.Licensing.AdminTool.Tests/Services/DialogServiceTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,76 @@ | |||
using System.Windows.Forms; | |||
using Rhino.Licensing.AdminTool.Factories; | |||
using Rhino.Licensing.AdminTool.Services; | |||
using Rhino.Licensing.AdminTool.ViewModels; | |||
using Rhino.Mocks; | |||
using Xunit; | |||
using OpenFileDialog = Rhino.Licensing.AdminTool.Dialogs.OpenFileDialog; | |||
using SaveFileDialog = Rhino.Licensing.AdminTool.Dialogs.SaveFileDialog; | |||
|
|||
namespace Rhino.Licensing.AdminTool.Tests.Services | |||
{ | |||
public class DialogServiceTests | |||
{ | |||
[Fact(Skip = "Not Completed")] | |||
public void Can_Show_OpenFileDialog() | |||
{ | |||
var model = CreateOpenFileDialogModel(); | |||
var factory = MockRepository.GenerateMock<IDialogFactory>(); | |||
var dialog = MockRepository.GenerateMock<OpenFileDialog>(model); | |||
|
|||
factory.Expect(x => x.Create<OpenFileDialog>(Arg.Is(model))).Return(dialog); | |||
dialog.Expect(x => x.ShowDialog()).Return(DialogResult.OK); | |||
dialog.Expect(x => x.ViewModel).Return(model); | |||
|
|||
new DialogService(factory).ShowOpenFileDialog(model); | |||
|
|||
dialog.AssertWasCalled(x => x.ShowDialog(), x => x.Repeat.Once()); | |||
} | |||
|
|||
[Fact(Skip = "Not Completed")] | |||
public void Can_Show_SaveFileDialog() | |||
{ | |||
var model = CreateSaveFileDialogModel(); | |||
var factory = MockRepository.GenerateMock<IDialogFactory>(); | |||
var dialog = MockRepository.GenerateMock<SaveFileDialog>(model); | |||
|
|||
var service = new DialogService(factory) as IDialogService; | |||
|
|||
factory.Expect(x => x.Create<SaveFileDialog>(Arg.Is(model))).Return(dialog); | |||
|
|||
service.ShowSaveFileDialog(model); | |||
|
|||
dialog.AssertWasCalled(x => x.ShowDialog(), x => x.Repeat.Once()); | |||
} | |||
|
|||
private IOpenFileDialogViewModel CreateOpenFileDialogModel() | |||
{ | |||
return new OpenFileDialogViewModel | |||
{ | |||
AddExtension = true, | |||
CheckFileExists = true, | |||
CheckPathExists = true, | |||
DefaultExtension = "rlic", | |||
Filter = "Rhino License Project|*.rlic", | |||
InitialDirectory = "C:\\", | |||
MultiSelect = false, | |||
Title = "Open File Dialog" | |||
}; | |||
} | |||
|
|||
private ISaveFileDialogViewModel CreateSaveFileDialogModel() | |||
{ | |||
return new SaveFileDialogViewModel | |||
{ | |||
AddExtension = true, | |||
CheckFileExists = true, | |||
CheckPathExists = true, | |||
DefaultExtension = "rlic", | |||
Filter = "Rhino License Project|*.rlic", | |||
InitialDirectory = "C:\\", | |||
Title = "Open File Dialog" | |||
}; | |||
} | |||
|
|||
} | |||
} |
29 changes: 29 additions & 0 deletions
29
Rhino.Licensing.AdminTool.Tests/ViewModels/DialogViewModelTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,29 @@ | |||
using Rhino.Licensing.AdminTool.ViewModels; | |||
using Xunit; | |||
using Caliburn.Testability.Extensions; | |||
|
|||
namespace Rhino.Licensing.AdminTool.Tests.ViewModels | |||
{ | |||
public class DialogViewModelTests | |||
{ | |||
[Fact] | |||
public void FileDialogModel_Fires_PropertyChange() | |||
{ | |||
var vm = new OpenFileDialogViewModel(); | |||
|
|||
vm.AssertThatAllProperties() | |||
.RaiseChangeNotification(); | |||
} | |||
|
|||
[Fact] | |||
public void SaveDialogModel_Fires_PropertyChange() | |||
{ | |||
var vm = new SaveFileDialogViewModel(); | |||
|
|||
vm.AssertThatAllProperties() | |||
.RaiseChangeNotification(); | |||
} | |||
|
|||
|
|||
} | |||
} |
Oops, something went wrong.