public void TestGetLinkedEntitiesWithValue()
        {
            // arrange
            var parser = new RelatedLinksParser();

            string propValue = @"[
                      {
                        ""caption"": ""External"",
                        ""link"": ""http://www.google.be"",
                        ""newWindow"": false,
                        ""edit"": false,
                        ""isInternal"": false,
                        ""type"": ""external"",
                        ""title"": ""External""
                      },
                      {
                        ""caption"": ""Internal page empty"",
                        ""link"": null,
                        ""newWindow"": false,
                        ""internal"": null,
                        ""edit"": false,
                        ""isInternal"": true,
                        ""internalName"": """",
                        ""type"": ""internal"",
                        ""title"": ""Internal page empty""
                      },
                      {
                        ""caption"": ""Internal page"",
                        ""link"": 1079,
                        ""newWindow"": false,
                        ""internal"": 1079,
                        ""edit"": false,
                        ""isInternal"": true,
                        ""internalName"": ""Contact"",
                        ""type"": ""internal"",
                        ""title"": ""Internal page""
                      },
                      {
                        ""caption"": ""Empty external"",
                        ""link"": ""http://"",
                        ""newWindow"": false,
                        ""edit"": false,
                        ""isInternal"": false,
                        ""type"": ""external"",
                        ""title"": ""Empty external""
                      }
                    ]";

            // act
            var result = parser.GetLinkedEntities(propValue);

            // verify
            Assert.IsNotNull(result);
            var entities = result.ToList();

            Assert.AreEqual(1, entities.Count());

            Assert.IsTrue(entities.Exists(x => x.LinkedEntityType == LinkedEntityType.Document && x.Id == 1079));
        }
        public void TestIsParserForInValidDataType()
        {
            // arrange
            var dataTypeDefinition = new DataTypeDefinition("foo");

            var parser = new RelatedLinksParser();

            // act
            var result = parser.IsParserFor(dataTypeDefinition);

            // verify
            Assert.IsFalse(result);
        }
        public void TestIsParserForValidDataType()
        {
            // arrange
            var dataTypeDefinition =
                new DataTypeDefinition(global::Umbraco.Core.Constants.PropertyEditors.RelatedLinksAlias);

            var parser = new RelatedLinksParser();

            // act
            var result = parser.IsParserFor(dataTypeDefinition);

            // verify
            Assert.IsTrue(result);
        }
        public void TestGetLinkedEntitiesWithEmptyValue()
        {
            // arrange
            var parser = new RelatedLinksParser();

            object propValue = null;

            // act
            var result = parser.GetLinkedEntities(propValue);

            // verify
            Assert.IsNotNull(result);
            var entities = result.ToList();

            Assert.AreEqual(0, entities.Count());
        }