public void Convert_CustomIImageMapMessage_ConvertedToTextMessage()
        {
            TestImagemapMessage message = new TestImagemapMessage();

            ISendMessage[] messages = MessageConverter.Convert(new ISendMessage[] { message });

            Assert.AreEqual(1, messages.Length);
            Assert.AreNotEqual(message, messages[0]);

            ImagemapMessage imagemapMessage = messages[0] as ImagemapMessage;

            Assert.AreEqual(new Uri("https://foo.url"), imagemapMessage.BaseUrl);
            Assert.AreEqual(1040, imagemapMessage.BaseSize.Width);
            Assert.AreEqual(520, imagemapMessage.BaseSize.Height);
            Assert.AreEqual("Alternative", imagemapMessage.AlternativeText);

            IImagemapAction[] actions = imagemapMessage.Actions.ToArray();

            ImagemapUriAction uriAction = actions[0] as ImagemapUriAction;

            Assert.AreEqual(new Uri("https://foo.bar"), uriAction.Url);
            Assert.AreEqual(4, uriAction.Area.X);
            Assert.AreEqual(3, uriAction.Area.Y);
            Assert.AreEqual(2, uriAction.Area.Width);
            Assert.AreEqual(1, uriAction.Area.Height);

            ImagemapMessageAction messageAction = actions[1] as ImagemapMessageAction;

            Assert.AreEqual("TestImagemapMessageAction", messageAction.Text);
            Assert.AreEqual(4, messageAction.Area.X);
            Assert.AreEqual(3, messageAction.Area.Y);
            Assert.AreEqual(2, messageAction.Area.Width);
            Assert.AreEqual(1, messageAction.Area.Height);
        }
Esempio n. 2
0
            public void ShouldConvertCustomIImagemapMessageToImagemapMessage()
            {
                var message = new TestImagemapMessage();

                var imagemapMessage = ImagemapMessage.Convert(message);

                Assert.AreNotEqual(message, imagemapMessage);

                Assert.AreEqual(new Uri("https://foo.url"), imagemapMessage.BaseUrl);
                Assert.AreEqual(1040, imagemapMessage.BaseSize.Width);
                Assert.AreEqual(520, imagemapMessage.BaseSize.Height);
                Assert.AreEqual("Alternative", imagemapMessage.AlternativeText);

                var actions = imagemapMessage.Actions.ToArray();

                var uriAction = actions[0] as ImagemapUriAction;

                Assert.AreEqual(new Uri("https://foo.bar"), uriAction.Url);
                Assert.AreEqual(4, uriAction.Area.X);
                Assert.AreEqual(3, uriAction.Area.Y);
                Assert.AreEqual(2, uriAction.Area.Width);
                Assert.AreEqual(1, uriAction.Area.Height);

                var messageAction = actions[1] as ImagemapMessageAction;

                Assert.AreEqual("TestImagemapMessageAction", messageAction.Text);
                Assert.AreEqual(4, messageAction.Area.X);
                Assert.AreEqual(3, messageAction.Area.Y);
                Assert.AreEqual(2, messageAction.Area.Width);
                Assert.AreEqual(1, messageAction.Area.Height);
            }
        public void Convert_InvalidAction_ThrowsException()
        {
            TestImagemapMessage message = new TestImagemapMessage()
            {
                Actions = new InvalidAction[] { new InvalidAction() }
            };

            ExceptionAssert.Throws <NotSupportedException>("Invalid action type.", () =>
            {
                MessageConverter.Convert(new ISendMessage[1] {
                    message
                });
            });
        }
        public void Convert_ImagemapMessageActionWithoutText_ThrowsException()
        {
            TestImagemapMessage message = new TestImagemapMessage()
            {
                Actions = new TestImagemapMessageAction[]
                {
                    new TestImagemapMessageAction()
                    {
                        Text = null
                    }
                }
            };

            ExceptionAssert.Throws <InvalidOperationException>("The text cannot be null.", () =>
            {
                MessageConverter.Convert(new ISendMessage[] { message });
            });
        }
        public void Convert_ImagemapMessageAreaUrlIsNull_ThrowsException()
        {
            TestImagemapMessage message = new TestImagemapMessage()
            {
                Actions = new TestImagemapUriAction[]
                {
                    new TestImagemapUriAction()
                    {
                        Url = null
                    }
                }
            };

            ExceptionAssert.Throws <InvalidOperationException>("The url cannot be null.", () =>
            {
                MessageConverter.Convert(new ISendMessage[] { message });
            });
        }
        public void Convert_ImagemapMessageAreaWithoutHeight_ThrowsException()
        {
            TestImagemapMessage message = new TestImagemapMessage()
            {
                Actions = new TestImagemapUriAction[]
                {
                    new TestImagemapUriAction()
                    {
                        Area = new TestImagemapArea()
                        {
                            Height = 0
                        }
                    }
                }
            };

            ExceptionAssert.Throws <InvalidOperationException>("The height should be at least 1.", () =>
            {
                MessageConverter.Convert(new ISendMessage[] { message });
            });
        }