Skip to content

Commit c1ee3a3

Browse files
committed
add separate test case for #122
1 parent 28e0b86 commit c1ee3a3

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

tests/AutoMapper.Extensions.ExpressionMapping.UnitTests/XpressionMapper.Structs.Tests.cs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,35 @@ public void Can_map_listeral_child_property_of_local_variable_in_filter()
161161

162162
//Act
163163
var mappedfilter = mapper.MapExpression<Expression<Func<Garage, bool>>>(filter);
164-
var mappedrhs = ((BinaryExpression)mappedfilter.Body).Right;
165164

166165
//Assert
167166
Assert.NotNull(mappedfilter);
167+
}
168+
169+
[Fact]
170+
public void Ignore_member_expressions_where_type_is_literal_and_node_type_is_constant()
171+
{
172+
// Arrange
173+
var config = new MapperConfiguration(c =>
174+
{
175+
c.CreateMap<GarageModel, Garage>()
176+
.ReverseMap()
177+
.ForMember(d => d.Color, opt => opt.MapFrom(s => s.Truck.Color));
178+
c.CreateMap<TruckModel, Truck>()
179+
.ReverseMap();
180+
});
181+
182+
config.AssertConfigurationIsValid();
183+
var mapper = config.CreateMapper();
184+
185+
GarageModel garage = new GarageModel { Color = "Blue", Truck = new TruckModel { Color = "Red", Year = 1999 } };
186+
Expression<Func<GarageModel, bool>> filter = m => m.Color == garage.Color;
187+
188+
//Act
189+
var mappedFilter = mapper.MapExpression<Expression<Func<Garage, bool>>>(filter);
190+
var mappedrhs = ((BinaryExpression)mappedFilter.Body).Right;
191+
192+
//Assert
168193
Assert.Equal(ExpressionType.MemberAccess, mappedrhs.NodeType);
169194
}
170195

0 commit comments

Comments
 (0)