master
1using MbUnit.Framework;
2using Notepad.Presentation.Presenters.Commands;
3using Notepad.Presentation.Presenters.Menu.Help;
4using Notepad.Test.Extensions;
5using Rhino.Mocks;
6
7namespace Notepad.Presentation.Model.Menu.Help {
8 public class AboutMenuItemSpecs {}
9
10 [TestFixture]
11 public class when_asking_the_about_menu_item_for_its_name_ {
12 [Test]
13 public void should_return_the_correct_name() {
14 CreateSUT().Name().ShouldBeEqualTo(MenuItemNames.About);
15 }
16
17 private IMenuItem CreateSUT() {
18 return new AboutMenuItem(null);
19 }
20 }
21
22 [TestFixture]
23 public class when_clicking_on_the_about_menu_item_ {
24 private MockRepository mockery;
25 private IRunPresenterCommand<IAboutApplicationPresenter> displayAboutCommand;
26
27 [SetUp]
28 public void SetUp() {
29 mockery = new MockRepository();
30 displayAboutCommand = mockery.DynamicMock<IRunPresenterCommand<IAboutApplicationPresenter>>();
31 }
32
33 [Test]
34 public void should_execute_the_display_about_command() {
35 using (mockery.Record()) {}
36
37 using (mockery.Playback()) {
38 CreateSUT().Click();
39 }
40 }
41
42 private IMenuItem CreateSUT() {
43 return new AboutMenuItem(displayAboutCommand);
44 }
45 }
46
47 [TestFixture]
48 public class when_asking_the_about_menu_item_if_it_belongs_to_a_menu_that_it_does {
49 private MockRepository mockery;
50 private ISubMenu menuThatThisItemBelongsTo;
51
52 [SetUp]
53 public void SetUp() {
54 mockery = new MockRepository();
55 menuThatThisItemBelongsTo = mockery.DynamicMock<ISubMenu>();
56
57 SetupResult.For(menuThatThisItemBelongsTo.Name()).Return(MenuNames.Help);
58 }
59
60 [Test]
61 public void should_return_true() {
62 using (mockery.Record()) {}
63
64 using (mockery.Playback()) {
65 CreateSUT().BelongsTo(menuThatThisItemBelongsTo).ShouldBeEqualTo(true);
66 }
67 }
68
69 private IMenuItem CreateSUT() {
70 return new AboutMenuItem(null);
71 }
72 }
73
74 [TestFixture]
75 public class when_asking_the_about_menu_item_if_it_belongs_to_a_menu_item_that_it_does_not {
76 private MockRepository mockery;
77 private ISubMenu unknownMenu;
78
79 [SetUp]
80 public void SetUp() {
81 mockery = new MockRepository();
82 unknownMenu = mockery.DynamicMock<ISubMenu>();
83
84 SetupResult.For(unknownMenu.Name()).Return("blah");
85 }
86
87 [Test]
88 public void should_return_false() {
89 using (mockery.Record()) {}
90
91 using (mockery.Playback()) {
92 CreateSUT().BelongsTo(unknownMenu).ShouldBeEqualTo(false);
93 }
94 }
95
96
97 private IMenuItem CreateSUT() {
98 return new AboutMenuItem(null);
99 }
100 }
101}