예제 #1
0
        public string ParseMindUrl(string message, out IList <MessageUrl> messageUrls)
        {
            IList <KeyValuePair <String, String> > shorteneds;
            string changedMessages = RecognizeUrlsInMessage(message, out shorteneds);

            messageUrls = new List <MessageUrl>();
            foreach (var shortened in shorteneds)
            {
                var matchedShortenedUrls = Regex.Matches(changedMessages, shortened.Value);
                foreach (Match shortenedUrl in matchedShortenedUrls)
                {
                    var messageUrl = new MessageUrl
                    {
                        OriginalUrl   = shortened.Key,
                        ShortenedlUrl = shortened.Value,
                        Index         = shortenedUrl.Index,
                        Length        = shortenedUrl.Length
                    };

                    messageUrls.Add(messageUrl);
                }
            }

            return(changedMessages);
        }
예제 #2
0
        public void TestAppendPath(string url, string add, string result)
        {
            MessageUrl messageUrl = new MessageUrl(url);

            messageUrl += add;
            ((string)messageUrl).Should().Be(result);
        }
예제 #3
0
        public void TestServiceEndpointInit()
        {
            var id = new MessageUrl("a/b");

            id.Protocol.Should().NotBeNullOrEmpty();
            id.Service.Should().Be("a");
            id.Endpoint.Should().Be("b");

            ((string)id).Should().Be("message://a/b");
        }
예제 #4
0
        public void TestServiceInit2()
        {
            var id = new MessageUrl("protocol://a");

            id.Protocol.Should().Be("protocol");
            id.Service.Should().Be("a");
            id.Endpoint.Should().BeNull();

            ((string)id).Should().Be("protocol://a");
        }
예제 #5
0
        public void TestSerialization2()
        {
            var id = new MessageUrl("a", "b");

            string json = Json.Default.Serialize(id);

            MessageUrl resultId = Json.Default.Deserialize <MessageUrl>(json) !;

            (resultId == id).Should().BeTrue();
        }
예제 #6
0
        public void TestServiceEndpointInit3()
        {
            var id = new MessageUrl("protocol://a/b/3");

            id.Protocol.Should().Be("protocol");
            id.Service.Should().Be("a");
            id.Endpoint.Should().Be("b/3");

            ((string)id).Should().Be("protocol://a/b/3");
        }
예제 #7
0
        public void TestPositive2(string id)
        {
            var endpointId = new MessageUrl(id);

            endpointId.ToString().Should().Be($"{id}");

            var e1 = (MessageUrl)id;

            ((string)e1).Should().Be($"{id}");

            _ = new MessageUrl(id);
        }
예제 #8
0
        public void TestPositive(string id)
        {
            const string protocol = "message";

            var endpointId = new MessageUrl(id);

            endpointId.ToString().Should().Be($"{protocol}://{id}");

            var e1 = (MessageUrl)id;

            ((string)e1).Should().Be($"{protocol}://{id}");

            _ = new MessageUrl(id);
        }
예제 #9
0
 public MessageBuilder SetFrom(MessageUrl messageUrl) => this.Action(x => x.From = messageUrl);
예제 #10
0
 public MessageBuilder SetUrl(MessageUrl messageUrl) => this.Action(x => x.Url = messageUrl);