Index: Application/Ringtoets/src/Application.Ringtoets/App.xaml.cs =================================================================== diff -u -rde2cb399837c0b07f89f9a6e752ddfa5844b2910 -rd182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 --- Application/Ringtoets/src/Application.Ringtoets/App.xaml.cs (.../App.xaml.cs) (revision de2cb399837c0b07f89f9a6e752ddfa5844b2910) +++ Application/Ringtoets/src/Application.Ringtoets/App.xaml.cs (.../App.xaml.cs) (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -132,7 +132,6 @@ #if INCLUDE_DEMOPROJECT , new DemoProjectGuiPlugin() , new OxyPlotGuiPlugin() - , new DemoDotSpatialGuiPlugin() #endif }, Storage = new StorageSqLite() Index: Demo/Ringtoets/src/Demo.Ringtoets/Commands/OpenMapViewCommand.cs =================================================================== diff -u -rdbf6ecaa927e26f430d7c73290df7e825ec04744 -rd182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 --- Demo/Ringtoets/src/Demo.Ringtoets/Commands/OpenMapViewCommand.cs (.../OpenMapViewCommand.cs) (revision dbf6ecaa927e26f430d7c73290df7e825ec04744) +++ Demo/Ringtoets/src/Demo.Ringtoets/Commands/OpenMapViewCommand.cs (.../OpenMapViewCommand.cs) (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -2,11 +2,12 @@ using System.Collections.Generic; using Core.Common.Gui; using Core.Components.DotSpatial.Data; +using Core.Plugins.DotSpatial.Forms; namespace Demo.Ringtoets.Commands { /// - /// This class describes the command for opening a with some arbitrary data. + /// The command for opening a with some arbitrary data. /// public class OpenMapViewCommand : IGuiCommand { Index: Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj =================================================================== diff -u -rd0615029ee52b3dbe0eda73c8cf9ba40e4353ee4 -rd182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 --- Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision d0615029ee52b3dbe0eda73c8cf9ba40e4353ee4) +++ Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -53,17 +53,13 @@ - True True Resources.resx - - MapRibbon.xaml - RingtoetsDemoProjectRibbon.xaml @@ -183,10 +179,6 @@ - - MSBuild:Compile - Designer - MSBuild:Compile Designer Fisheye: Tag d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Ringtoets/GUIs/DemoDotSpatialGuiPlugin.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Ringtoets/Ribbons/MapRibbon.xaml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Ringtoets/Ribbons/MapRibbon.xaml.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Demo/Ringtoets/src/Demo.Ringtoets/Ribbons/RingtoetsDemoProjectRibbon.xaml =================================================================== diff -u -rd0615029ee52b3dbe0eda73c8cf9ba40e4353ee4 -rd182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 --- Demo/Ringtoets/src/Demo.Ringtoets/Ribbons/RingtoetsDemoProjectRibbon.xaml (.../RingtoetsDemoProjectRibbon.xaml) (revision d0615029ee52b3dbe0eda73c8cf9ba40e4353ee4) +++ Demo/Ringtoets/src/Demo.Ringtoets/Ribbons/RingtoetsDemoProjectRibbon.xaml (.../RingtoetsDemoProjectRibbon.xaml) (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -5,16 +5,25 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:fluent="clr-namespace:Fluent;assembly=Fluent" xmlns:resx="clr-namespace:Demo.Ringtoets.Properties" + xmlns:gui="clr-namespace:Core.Common.Gui;assembly=Core.Common.Gui" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> - + + + + + + + + + Index: Demo/Ringtoets/src/Demo.Ringtoets/Ribbons/RingtoetsDemoProjectRibbon.xaml.cs =================================================================== diff -u -rd0615029ee52b3dbe0eda73c8cf9ba40e4353ee4 -rd182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 --- Demo/Ringtoets/src/Demo.Ringtoets/Ribbons/RingtoetsDemoProjectRibbon.xaml.cs (.../RingtoetsDemoProjectRibbon.xaml.cs) (revision d0615029ee52b3dbe0eda73c8cf9ba40e4353ee4) +++ Demo/Ringtoets/src/Demo.Ringtoets/Ribbons/RingtoetsDemoProjectRibbon.xaml.cs (.../RingtoetsDemoProjectRibbon.xaml.cs) (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -12,14 +12,15 @@ /// public partial class RingtoetsDemoProjectRibbon : IRibbonCommandHandler { - private readonly ICommand addNewDikeAssessmentSection, addNewDuneAssessmentSection; + private readonly ICommand addNewDikeAssessmentSection, addNewDuneAssessmentSection, openMapViewCommand; public RingtoetsDemoProjectRibbon() { InitializeComponent(); addNewDikeAssessmentSection = new AddNewDemoDikeAssessmentSectionCommand(); addNewDuneAssessmentSection = new AddNewDemoDuneAssessmentSectionCommand(); + openMapViewCommand = new OpenMapViewCommand(); } public IEnumerable Commands @@ -28,6 +29,7 @@ { yield return addNewDikeAssessmentSection; yield return addNewDuneAssessmentSection; + yield return openMapViewCommand; } } @@ -36,10 +38,7 @@ return RingtoetsDemoProjectRibbonControl; } - public void ValidateItems() - { - - } + public void ValidateItems() {} public bool IsContextualTabVisible(string tabGroupName, string tabName) { @@ -55,5 +54,10 @@ { addNewDuneAssessmentSection.Execute(); } + + private void ButtonOpenMapView_Click(object sender, RoutedEventArgs e) + { + openMapViewCommand.Execute(); + } } -} +} \ No newline at end of file Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj =================================================================== diff -u -rd0615029ee52b3dbe0eda73c8cf9ba40e4353ee4 -rd182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj (.../Demo.Ringtoets.Test.csproj) (revision d0615029ee52b3dbe0eda73c8cf9ba40e4353ee4) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj (.../Demo.Ringtoets.Test.csproj) (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -63,9 +63,9 @@ - + - + @@ -80,6 +80,14 @@ {30e4c2ae-719e-4d70-9fa9-668a9767fbfa} Core.Common.Gui + + {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98} + Core.Common.Utils + + + {AA47E858-A2A7-470E-8B2D-C76AE8ED9CCD} + Core.Components.DotSpatial + {610E0A9C-1997-4C43-A10E-39D4C66ADA93} Core.Plugins.DotSpatial Fisheye: Tag d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Ringtoets.Test/GUIs/DemoDotSpatialGuiPluginTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/GUIs/DemoProjectGuiPluginTest.cs =================================================================== diff -u --- Demo/Ringtoets/test/Demo.Ringtoets.Test/GUIs/DemoProjectGuiPluginTest.cs (revision 0) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/GUIs/DemoProjectGuiPluginTest.cs (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -0,0 +1,24 @@ +using Core.Common.Gui; +using Core.Common.Gui.Forms; +using Demo.Ringtoets.GUIs; +using NUnit.Framework; + +namespace Demo.Ringtoets.Test.GUIs +{ + [TestFixture] + public class DemoProjectGuiPluginTest + { + [Test] + [RequiresSTA] + public void DefaultConstructor_DefaultValues() + { + // Call + using (var plugin = new DemoProjectGuiPlugin()) + { + // Assert + Assert.IsInstanceOf(plugin); + Assert.IsInstanceOf(plugin.RibbonCommandHandler); + } + } + } +} \ No newline at end of file Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Properties/AssemblyInfo.cs =================================================================== diff -u -rdbf6ecaa927e26f430d7c73290df7e825ec04744 -rd182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Properties/AssemblyInfo.cs (.../AssemblyInfo.cs) (revision dbf6ecaa927e26f430d7c73290df7e825ec04744) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Properties/AssemblyInfo.cs (.../AssemblyInfo.cs) (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -7,9 +7,9 @@ [assembly: AssemblyTitle("Demo.Ringtoets.Test")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyCompany("Deltares")] [assembly: AssemblyProduct("Demo.Ringtoets.Test")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2016")] +[assembly: AssemblyCopyright("Copyright © Deltares 2016")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] Fisheye: Tag d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Ringtoets.Test/Ribbons/MapRibbonTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Ribbons/RingtoestDemoProjectRibbonTest.cs =================================================================== diff -u --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Ribbons/RingtoestDemoProjectRibbonTest.cs (revision 0) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Ribbons/RingtoestDemoProjectRibbonTest.cs (revision d182ae6d1a6590c4b52b17fd1f59c5b7c3780b48) @@ -0,0 +1,84 @@ +using System.Linq; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using Core.Common.Controls.Commands; +using Core.Common.Gui; +using Core.Components.DotSpatial.Data; +using Demo.Ringtoets.Commands; +using Demo.Ringtoets.Ribbons; +using NUnit.Framework; +using Rhino.Mocks; + +namespace Demo.Ringtoets.Test.Ribbons +{ + [TestFixture] + public class RingtoestDemoProjectRibbonTest + { + [Test] + [RequiresSTA] + public void DefaultContructor_CreatesCommands() + { + // Call + var ribbon = new RingtoetsDemoProjectRibbon(); + var commands = ribbon.Commands.ToArray(); + + // Assert + CollectionAssert.IsNotEmpty(commands); + CollectionAssert.AllItemsAreInstancesOfType(commands, typeof(ICommand)); + CollectionAssert.AllItemsAreUnique(commands); + } + + [Test] + [RequiresSTA] + public void DefaultConstructor_Always_CreatesControl() + { + // Call + var ribbon = new RingtoetsDemoProjectRibbon(); + + // Assert + Assert.IsNotNull(ribbon); + Assert.IsInstanceOf(ribbon.GetRibbonControl()); + } + + [Test] + [RequiresSTA] + public void IsContextualTabVisible_Always_ReturnsFalse() + { + // Call + var ribbon = new RingtoetsDemoProjectRibbon(); + + // Assert + Assert.IsFalse(ribbon.IsContextualTabVisible(null, null)); + } + + [Test] + [RequiresSTA] + public void OpenMapViewButton_OnClick_OpensView() + { + // Setup + var mocks = new MockRepository(); + var viewResolver = mocks.StrictMock(); + viewResolver.Expect(vr => vr.OpenViewForData(Arg.Matches(md => md.IsValid()), Arg.Matches(b=>b==false))).Return(true); + + var gui = mocks.StrictMock(); + gui.Expect(g => g.DocumentViewsResolver).Return(viewResolver); + + mocks.ReplayAll(); + + var ribbon = new RingtoetsDemoProjectRibbon(); + ribbon.Commands.OfType().First().Gui = gui; + + var button = ribbon.GetRibbonControl().FindName("OpenMapViewButton") as Button; + + // Precondition + Assert.IsNotNull((object) button, "Ribbon should have an open map view button"); + + // Call + button.RaiseEvent(new RoutedEventArgs(ButtonBase.ClickEvent)); + + // Assert + mocks.VerifyAll(); + } + } +}