Index: Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs =================================================================== diff -u -re6e92cb42b1e4983add2406300958b6b116ba781 -r828cad36498a378e8313e41abb0377b311ab8530 --- Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs (.../ContextMenuBuilderTest.cs) (revision e6e92cb42b1e4983add2406300958b6b116ba781) +++ Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs (.../ContextMenuBuilderTest.cs) (revision 828cad36498a378e8313e41abb0377b311ab8530) @@ -259,6 +259,84 @@ TestHelper.AssertImagesAreEqual(Resources.PropertiesIcon, properties.Image); mocks.VerifyAll(); - } + } + + [Test] + public void AddCustomItem_NoItemWhenBuild_ContextMenuEmpty() + { + // Setup + var builder = new ContextMenuBuilder(null, MockRepository.GenerateMock()); + + // Call + var result = builder.AddCustomItem(null).Build(); + + // Assert + Assert.IsInstanceOf(result); + Assert.IsEmpty(result.Items); + } + + [Test] + public void AddCustomItem_WhenBuild_ItemAddedToContextMenu() + { + // Setup + var builder = new ContextMenuBuilder(null, MockRepository.GenerateMock()); + var item = new ToolStripMenuItem(); + // Call + var result = builder.AddCustomItem(item).Build(); + + // Assert + Assert.IsInstanceOf(result); + Assert.AreEqual(1, result.Items.Count); + + Assert.AreSame(item, result.Items[0]); + } + + [Test] + public void AddSeparator_NoItemsWhenBuild_EmptyContextMenu() + { + // Setup + var builder = new ContextMenuBuilder(null, MockRepository.GenerateMock()); + + // Call + var result = builder.AddSeparator().Build(); + + // Assert + Assert.IsInstanceOf(result); + Assert.IsEmpty(result.Items); + } + + [Test] + public void AddSeparator_ItemAddedWhenBuild_SeparatorAdded() + { + // Setup + var builder = new ContextMenuBuilder(null, MockRepository.GenerateMock()); + + builder.AddCustomItem(new ToolStripMenuItem()); + + // Call + var result = builder.AddSeparator().Build(); + + // Assert + Assert.IsInstanceOf(result); + Assert.AreEqual(2, result.Items.Count); + + Assert.IsInstanceOf(result.Items[1]); + } + + [Test] + public void AddSeparator_ItemAndSeparatorAddedWhenBuild_NoSeparatorAdded() + { + // Setup + var builder = new ContextMenuBuilder(null, MockRepository.GenerateMock()); + + builder.AddCustomItem(new ToolStripMenuItem()).AddSeparator(); + + // Call + var result = builder.AddSeparator().Build(); + + // Assert + Assert.IsInstanceOf(result); + Assert.AreEqual(2, result.Items.Count); + } } } \ No newline at end of file