public void SetField_ListContainsNoValues_SetsEmptyField()
        {
            //Assign
            var expected = string.Empty;
            var item     = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldIEnumerableMapper/SetField");
            var field    = item.Fields[FieldName];
            var value    = new List <double>();

            var config = new SitecoreFieldConfiguration();

            config.PropertyInfo = typeof(StubClass).GetProperty("IList");

            var mapper    = new SitecoreFieldIEnumerableMapper();
            var subMapper = new SitecoreFieldDoubleMapper();

            var args = new DataMapperResolverArgs(null, config);

            args.DataMappers = new[] { subMapper };

            mapper.Setup(args);

            using (new ItemEditing(item, true))
            {
                field.Value = string.Empty;
            }

            //Act
            using (new ItemEditing(item, true))
            {
                mapper.SetField(field, value, config, null);
            }
            //Assert
            Assert.AreEqual(expected, field.Value);
        }
Пример #2
0
        public void SetField_ObjectisValidDouble_SetsFieldValue()
        {
            //Assign
            string expected    = "3.141592";
            double objectValue = 3.141592D;
            var    item        = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldDoubleMapper/SetField");
            var    field       = item.Fields[FieldName];

            var mapper = new SitecoreFieldDoubleMapper();

            using (new ItemEditing(item, true))
            {
                field.Value = string.Empty;
            }

            //Act
            using (new ItemEditing(item, true))
            {
                mapper.SetField(field, objectValue, null, null);
            }


            //Assert
            Assert.AreEqual(expected, field.Value);
        }
        public void GetField_EmptyField_ReturnsEmptyList()
        {
            //Assign
            var fieldValue = "";
            var item       = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldIEnumerableMapper/GetField");
            var field      = item.Fields[FieldName];

            var config = new SitecoreFieldConfiguration();

            config.PropertyInfo = typeof(StubClass).GetProperty("IList");

            var mapper    = new SitecoreFieldIEnumerableMapper();
            var subMapper = new SitecoreFieldDoubleMapper();

            var args = new DataMapperResolverArgs(null, config);

            args.DataMappers = new[] { subMapper };

            mapper.Setup(args);

            using (new ItemEditing(item, true))
            {
                field.Value = fieldValue;
            }

            //Act

            var result = mapper.GetField(field, config, null) as List <double>;

            //Assert
            Assert.AreEqual(0, result.Count);
        }
Пример #4
0
        public void SetField_ListContainsNoValues_SetsEmptyField()
        {
            //Assign
            var templateId = ID.NewID;
            var fieldId    = ID.NewID;
            var targetId   = ID.NewID;

            using (Db database = new Db
            {
                new DbTemplate(templateId)
                {
                    { "Field", "" }
                },
                new Sitecore.FakeDb.DbItem("Target", targetId, templateId),
            })
            {
                var expected = string.Empty;
                var item     =
                    database.GetItem("/sitecore/content/Target");
                var field = item.Fields["Field"];
                var value = new List <double>();

                var config = new SitecoreFieldConfiguration();
                config.PropertyInfo = typeof(StubClass).GetProperty("IList");

                var mapper    = new SitecoreFieldIEnumerableMapper();
                var subMapper = new SitecoreFieldDoubleMapper();

                var args = new DataMapperResolverArgs(null, config);
                args.DataMappers = new[] { subMapper };

                mapper.Setup(args);

                using (new ItemEditing(item, true))
                {
                    field.Value = string.Empty;
                }

                //Act
                using (new ItemEditing(item, true))
                {
                    mapper.SetField(field, value, config, null);
                }
                //Assert
                Assert.AreEqual(expected, field.Value);
            }
        }
Пример #5
0
        public void GetField_ContainsPipeSeparatedValues_ReturnsListOfValues()
        {
            //Assign
            var templateId = ID.NewID;
            var fieldId    = ID.NewID;
            var targetId   = ID.NewID;

            using (Db database = new Db
            {
                new DbTemplate(templateId)
                {
                    { "Field", "" }
                },
                new Sitecore.FakeDb.DbItem("Target", targetId, templateId),
            })
            {
                var fieldValue = "1|2|3";
                var item       =
                    database.GetItem("/sitecore/content/Target");
                var field = item.Fields["Field"];

                var config = new SitecoreFieldConfiguration();
                config.PropertyInfo = typeof(StubClass).GetProperty("IList");

                var mapper    = new SitecoreFieldIEnumerableMapper();
                var subMapper = new SitecoreFieldDoubleMapper();

                var args = new DataMapperResolverArgs(null, config);
                args.DataMappers = new[] { subMapper };

                mapper.Setup(args);

                using (new ItemEditing(item, true))
                {
                    field.Value = fieldValue;
                }

                //Act

                var result = mapper.GetField(field, config, null) as List <double>;

                //Assert
                Assert.AreEqual(1D, result.Skip(0).First());
                Assert.AreEqual(2D, result.Skip(1).First());
                Assert.AreEqual(3D, result.Skip(2).First());
            }
        }
Пример #6
0
        public void GetField_FieldContainsEmptyString_ReturnsDoubleZero()
        {
            //Assign
            string fieldValue = string.Empty;
            Double expected   = 0;
            var    fieldId    = Guid.NewGuid();

            var item  = Helpers.CreateFakeItem(fieldId, fieldValue);
            var field = item.Fields[new ID(fieldId)];

            var mapper = new SitecoreFieldDoubleMapper();

            //Act
            var result = (double)mapper.GetField(field, null, null);

            //Assert
            Assert.AreEqual(expected, result);
        }
Пример #7
0
        public void GetField_FieldContainsInvalidValidDouble_ReturnsDouble()
        {
            //Assign
            string fieldValue = "hello world";
            double expected   = 3.141592D;
            var    fieldId    = Guid.NewGuid();

            var item  = Helpers.CreateFakeItem(fieldId, fieldValue);
            var field = item.Fields[new ID(fieldId)];

            var mapper = new SitecoreFieldDoubleMapper();

            //Act
            var result = (double)mapper.GetField(field, null, null);

            //Assert
            Assert.AreEqual(expected, result);
        }
Пример #8
0
        public void SetField_ObjectIsInt_ThrowsException()
        {
            //Assign
            int objectValue = 3;
            var fieldId     = Guid.NewGuid();

            var item  = Helpers.CreateFakeItem(fieldId, string.Empty);
            var field = item.Fields[new ID(fieldId)];

            var mapper = new SitecoreFieldDoubleMapper();

            item.Editing.BeginEdit();
            //Act
            mapper.SetField(field, objectValue, null, null);


            //Assert
        }
        public void Setup_SubMapperIsAssigned()
        {
            //Assign
            var config = new SitecoreFieldConfiguration();

            config.PropertyInfo = typeof(StubClass).GetProperty("IList");

            var mapper    = new SitecoreFieldIEnumerableMapper();
            var subMapper = new SitecoreFieldDoubleMapper();

            var args = new DataMapperResolverArgs(null, config);

            args.DataMappers = new[] { subMapper };

            //Act
            mapper.Setup(args);

            //Assert
            Assert.AreEqual(subMapper, mapper.Mapper);
        }
Пример #10
0
        public void GetField_FieldContainsInvalidValidDouble_ReturnsDouble()
        {
            //Assign
            string fieldValue = "hello world";
            double expected   = 3.141592D;
            var    item       = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldDoubleMapper/GetField");
            var    field      = item.Fields[FieldName];

            var mapper = new SitecoreFieldDoubleMapper();

            using (new ItemEditing(item, true))
            {
                field.Value = fieldValue;
            }

            //Act
            var result = (double)mapper.GetField(field, null, null);

            //Assert
            Assert.AreEqual(expected, result);
        }
Пример #11
0
        public void Setup_SubMapperMissing_ExceptionThrown()
        {
            //Assign
            var config = new SitecoreFieldConfiguration();

            config.PropertyInfo = typeof(StubClass).GetProperty("IEnumerable");

            var mapper    = new SitecoreFieldIEnumerableMapper();
            var subMapper = new SitecoreFieldDoubleMapper();

            var args = new DataMapperResolverArgs(null, config);

            args.DataMappers = new[] { subMapper };

            //Act
            Assert.Throws <MapperException>(() =>
            {
                mapper.Setup(args);
            });

            //Assert
        }
Пример #12
0
        public void SetField_ObjectisValidDouble_SetsFieldValue()
        {
            //Assign
            string expected    = "3.141592";
            double objectValue = 3.141592D;
            var    fieldId     = Guid.NewGuid();

            var item  = Helpers.CreateFakeItem(fieldId, string.Empty);
            var field = item.Fields[new ID(fieldId)];

            var mapper = new SitecoreFieldDoubleMapper();

            item.Editing.BeginEdit();

            //Act

            mapper.SetField(field, objectValue, null, null);



            //Assert
            Assert.AreEqual(expected, field.Value);
        }
Пример #13
0
        public void SetField_ObjectIsInt_ThrowsException()
        {
            //Assign
            int objectValue = 3;
            var item        = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldDoubleMapper/SetField");
            var field       = item.Fields[FieldName];

            var mapper = new SitecoreFieldDoubleMapper();

            using (new ItemEditing(item, true))
            {
                field.Value = string.Empty;
            }

            //Act
            using (new ItemEditing(item, true))
            {
                mapper.SetField(field, objectValue, null, null);
            }


            //Assert
        }