public void SetField_ObjectisValidEnum_SetsFieldValue()
        {
            //Assign
            string   expected    = "Value2";
            StubEnum objectValue = StubEnum.Value2;
            var      item        = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldEnumMapper/SetField");
            var      field       = item.Fields[FieldName];

            var config = new SitecoreFieldConfiguration();

            config.PropertyInfo = typeof(Stub).GetProperty("Property");

            var mapper = new SitecoreFieldEnumMapper();

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

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


            //Assert
            Assert.AreEqual(expected, field.Value);
        }
        public void SetField_ObjectisValidEnum_SetsFieldValue()
        {
            //Assign
            string   expected    = "Value2";
            StubEnum objectValue = StubEnum.Value2;
            var      fieldId     = Guid.NewGuid();

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

            var config = new SitecoreFieldConfiguration();

            config.PropertyInfo = typeof(Stub).GetProperty("Property");

            var mapper = new SitecoreFieldNullableEnumMapper();

            item.Editing.BeginEdit();

            //Act

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



            //Assert
            Assert.AreEqual(expected, field.Value);
        }
예제 #3
0
        public void GetField_FieldContainsValidEnumInteger_ReturnsEnum()
        {
            //Assign
            string   fieldValue = "2";
            StubEnum expected   = StubEnum.Value2;
            var      fieldId    = Guid.NewGuid();

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

            var config = new SitecoreFieldConfiguration();

            config.PropertyInfo = typeof(Stub).GetProperty("Property");

            var mapper = new SitecoreFieldEnumMapper();

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

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void GetField_FieldContainsValidEnumInteger_ReturnsEnum()
        {
            //Assign
            string   fieldValue = "2";
            StubEnum expected   = StubEnum.Value2;
            var      item       = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreFieldEnumMapper/GetField");
            var      field      = item.Fields[FieldName];
            var      config     = new SitecoreFieldConfiguration();

            config.PropertyInfo = typeof(Stub).GetProperty("Property");

            var mapper = new SitecoreFieldEnumMapper();

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

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

            //Assert
            Assert.AreEqual(expected, result);
        }
        public void ShouldTestAllEnumValues()
        {
            var stub = new StubEnum();
            stub.ShouldSupportAllEnumValues<StubEnum>(m => m.Prop1);

            stub.Prop1SetValues.Count.ShouldBe(3);
            stub.Prop1SetValues.ShouldContain(MyEnum.One);
            stub.Prop1SetValues.ShouldContain(MyEnum.Two);
            stub.Prop1SetValues.ShouldContain(MyEnum.Three);
        }
 public void ShouldThrowAssertionErrorWhenNonSupportedEnumIsSet()
 {
     var stub = new StubEnum();
     Should.Throw<AssertionException>(() => stub.ShouldSupportAllEnumValues<StubEnum>(m => m.Prop2));
 }
 public void ShouldThrowEnumErrorIfPropertyNotEnum()
 {
     var stub = new StubEnum();
     Should.Throw<ArgumentOutOfRangeException>(() => stub.ShouldSupportAllEnumValues<StubEnum>(m => m.Text));
 }