~charlie.poole/nunitv2/equality-handlers

« back to all changes in this revision

Viewing changes to src/ProjectEditor/tests/Presenters/RenameConfigurationPresenterTests.cs

  • Committer: Charlie Poole
  • Date: 2011-03-29 21:54:46 UTC
  • mfrom: (3257.4.15 standalone-editor)
  • Revision ID: charlie@nunit.org-20110329215446-pu1r6okg4www4zat
Remove integrated project editor and substitute new standalone editor

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// ****************************************************************
 
2
// Copyright 2011, Charlie Poole
 
3
// This is free software licensed under the NUnit license. You may
 
4
// obtain a copy of the license at http://nunit.org
 
5
// ****************************************************************
 
6
 
 
7
#if NET_3_5 || MONO_3_5
 
8
using System;
 
9
using System.Collections.Generic;
 
10
using NSubstitute;
 
11
using NUnit.Framework;
 
12
 
 
13
namespace NUnit.ProjectEditor.Tests.Presenters
 
14
{
 
15
    [TestFixture, Platform("Net-3.5,Mono-3.5")]
 
16
    public class RenameConfigurationPresenterTests
 
17
    {
 
18
        IProjectModel model;
 
19
        IRenameConfigurationDialog dlg;
 
20
        RenameConfigurationPresenter presenter;
 
21
 
 
22
        [SetUp]
 
23
        public void Initialize()
 
24
        {
 
25
            IProjectDocument doc = new ProjectDocument();
 
26
            doc.LoadXml(NUnitProjectXml.EmptyConfigs);
 
27
            model = new ProjectModel(doc);
 
28
            dlg = Substitute.For<IRenameConfigurationDialog>();
 
29
            presenter = new RenameConfigurationPresenter(model, dlg, "Debug");
 
30
        }
 
31
 
 
32
        [Test]
 
33
        public void ConfigurationName_OnLoad_IsSetToOriginalName()
 
34
        {
 
35
            Assert.AreEqual("Debug", dlg.ConfigurationName.Text);
 
36
        }
 
37
 
 
38
        [Test]
 
39
        public void ConfigurationName_OnLoad_OriginalNameIsSelected()
 
40
        {
 
41
            dlg.ConfigurationName.Received().Select(0,5);
 
42
        }
 
43
 
 
44
        [Test]
 
45
        public void OkButton_OnLoad_IsDisabled()
 
46
        {
 
47
            Assert.False(dlg.OkButton.Enabled);
 
48
        }
 
49
 
 
50
        [Test]
 
51
        public void ConfigurationName_WhenSetToNewName_OkButtonIsEnabled()
 
52
        {
 
53
            dlg.ConfigurationName.Text = "New";
 
54
            dlg.ConfigurationName.Changed += Raise.Event<ActionDelegate>();
 
55
 
 
56
            Assert.True(dlg.OkButton.Enabled);
 
57
        }
 
58
 
 
59
        [Test]
 
60
        public void ConfigurationName_WhenSetToOriginalName_OkButtonIsDisabled()
 
61
        {
 
62
            dlg.ConfigurationName.Text = "Debug";
 
63
            dlg.ConfigurationName.Changed += Raise.Event<ActionDelegate>();
 
64
 
 
65
            Assert.False(dlg.OkButton.Enabled);
 
66
        }
 
67
 
 
68
        [Test]
 
69
        public void ConfigurationName_WhenCleared_OkButtonIsDisabled()
 
70
        {
 
71
            dlg.ConfigurationName.Text = string.Empty;
 
72
            dlg.ConfigurationName.Changed += Raise.Event<ActionDelegate>();
 
73
 
 
74
            Assert.False(dlg.OkButton.Enabled);
 
75
        }
 
76
 
 
77
        [Test]
 
78
        public void OkButton_WhenClicked_PerformsRename()
 
79
        {
 
80
            dlg.ConfigurationName.Text = "New";
 
81
            dlg.OkButton.Execute += Raise.Event<CommandDelegate>();
 
82
 
 
83
            Assert.That(model.ConfigNames, Is.EqualTo(new string[] { "New", "Release" }));
 
84
        }
 
85
 
 
86
        [Test]
 
87
        public void Dialog_WhenClosedWithoutClickingOK_LeavesConfigsUnchanged()
 
88
        {
 
89
            dlg.ConfigurationName.Text = "New";
 
90
            dlg.Close();
 
91
 
 
92
            Assert.That(model.ConfigNames, Is.EqualTo(new string[] { "Debug", "Release" }));
 
93
        }
 
94
    }
 
95
}
 
96
#endif