namespace Copy
{
public class Presenter
{
private IView view;
public Presenter(IView view)
{
this.view = view;
this.view.Changed +=new EventHandler(OnChanged);
}
public void OnChanged(object sender, EventArgs e)
{
view.Copy = view.Original;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using NUnit.Mocks;
using Copy;
namespace UnitTests
{
[TestFixture]
public class Tests
{
private DynamicMock viewMock;
private Presenter presenter;
[SetUp]
public void setup()
{
viewMock = new DynamicMock(typeof(IView));
presenter = new Presenter((IView)viewMock.MockInstance);
}
[Test]
public void testCopy()
{
viewMock.ExpectAndReturn("get_Original", "Testing ...");
viewMock.Expect("get_Cpoy");
Assert.AreEqual("Testing ...", ((IView)viewMock.MockInstance).Copy);
}
}
}
namespace Copy
{
public partial class Form1 : Form, IView
{
private Presenter presenter;
public Form1()
{
InitializeComponent();
presenter = new Presenter(this);
this.t_original.TextChanged += OnChanged;
}
public string Original
{
get { return t_original.Text; }
}
public string Copy
{
get { return t_copy.Text; }
set { t_copy.Text = value;}
}
private void OnChanged(object sender, EventArgs e)
{
if (Changed != null)
Changed(sender, e);
}
public event EventHandler Changed;
}
}