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
// ****************************************************************
7
#if NET_3_5 || MONO_3_5
9
using System.Collections.Generic;
11
using NUnit.Framework;
13
namespace NUnit.ProjectEditor.Tests.Presenters
15
[TestFixture, Platform("Net-3.5,Mono-3.5")]
16
public class RenameConfigurationPresenterTests
19
IRenameConfigurationDialog dlg;
20
RenameConfigurationPresenter presenter;
23
public void Initialize()
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");
33
public void ConfigurationName_OnLoad_IsSetToOriginalName()
35
Assert.AreEqual("Debug", dlg.ConfigurationName.Text);
39
public void ConfigurationName_OnLoad_OriginalNameIsSelected()
41
dlg.ConfigurationName.Received().Select(0,5);
45
public void OkButton_OnLoad_IsDisabled()
47
Assert.False(dlg.OkButton.Enabled);
51
public void ConfigurationName_WhenSetToNewName_OkButtonIsEnabled()
53
dlg.ConfigurationName.Text = "New";
54
dlg.ConfigurationName.Changed += Raise.Event<ActionDelegate>();
56
Assert.True(dlg.OkButton.Enabled);
60
public void ConfigurationName_WhenSetToOriginalName_OkButtonIsDisabled()
62
dlg.ConfigurationName.Text = "Debug";
63
dlg.ConfigurationName.Changed += Raise.Event<ActionDelegate>();
65
Assert.False(dlg.OkButton.Enabled);
69
public void ConfigurationName_WhenCleared_OkButtonIsDisabled()
71
dlg.ConfigurationName.Text = string.Empty;
72
dlg.ConfigurationName.Changed += Raise.Event<ActionDelegate>();
74
Assert.False(dlg.OkButton.Enabled);
78
public void OkButton_WhenClicked_PerformsRename()
80
dlg.ConfigurationName.Text = "New";
81
dlg.OkButton.Execute += Raise.Event<CommandDelegate>();
83
Assert.That(model.ConfigNames, Is.EqualTo(new string[] { "New", "Release" }));
87
public void Dialog_WhenClosedWithoutClickingOK_LeavesConfigsUnchanged()
89
dlg.ConfigurationName.Text = "New";
92
Assert.That(model.ConfigNames, Is.EqualTo(new string[] { "Debug", "Release" }));