public void ShouldPreserveInstanceWhenValueIsImagemapMessageAction()
            {
                var action = new ImagemapMessageAction("Text", 1, 2, 3, 4);

                var messageAction = ImagemapMessageAction.Convert(action);

                Assert.AreSame(action, messageAction);
            }
            public void ShouldThrowExceptionWhenAreaIsNull()
            {
                var action = new ImagemapMessageAction()
                {
                    Text = "test"
                };

                ExceptionAssert.Throws <InvalidOperationException>("The area cannot be null.", () =>
                {
                    ImagemapMessageAction.Convert(action);
                });
            }
            public void ShouldThrowExceptionWhenTextIsNull()
            {
                var action = new ImagemapMessageAction()
                {
                    Area = new ImagemapArea(1, 2, 3, 4)
                };

                ExceptionAssert.Throws <InvalidOperationException>("The text cannot be null.", () =>
                {
                    ImagemapMessageAction.Convert(action);
                });
            }
            public void ShouldConvertCustomIImagemapMessageActionToImagemapMessageAction()
            {
                var action = new TestImagemapMessageAction();

                var messageAction = ImagemapMessageAction.Convert(action);

                Assert.AreNotEqual(action, messageAction);
                Assert.AreEqual("TestImagemapMessageAction", messageAction.Text);
                Assert.IsNotNull(messageAction.Area);
                Assert.AreEqual(4, messageAction.Area.X);
                Assert.AreEqual(3, messageAction.Area.Y);
                Assert.AreEqual(2, messageAction.Area.Width);
                Assert.AreEqual(1, messageAction.Area.Height);
            }