NavigatePropertyMappingTest.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using System;
  2. using Xunit;
  3. namespace VCommon.VAutoMapper.Tests
  4. {
  5. public class NavigatePropertyMappingTest
  6. {
  7. [AutoMapFrom(typeof(Entity))]
  8. [AutoMapTo(typeof(Entity))]
  9. public class Dto
  10. {
  11. public Guid Id { get; set; }
  12. public string Name { get; set; }
  13. public string NavigateName { get; set; }
  14. public bool IsEnable { get; set; }
  15. }
  16. public class Entity
  17. {
  18. public Guid Id { get; set; }
  19. public string Name { get; set; }
  20. public bool IsEnable { get; set; }
  21. public NavigateEntity Navigate { get; set; }
  22. }
  23. public class NavigateEntity
  24. {
  25. public string Name { get; set; }
  26. }
  27. [Fact]
  28. public void EntityToDto()
  29. {
  30. var entity = new Entity
  31. {
  32. Id = Guid.Empty,
  33. Name = "EntityName",
  34. IsEnable = false,
  35. Navigate = new NavigateEntity { Name = "Navigate" }
  36. };
  37. var dto = entity.MapTo<Dto>();
  38. Assert.Equal(dto.Id, entity.Id);
  39. Assert.Equal(dto.Name, entity.Name);
  40. Assert.Equal(dto.IsEnable, entity.IsEnable);
  41. Assert.Equal(dto.NavigateName, entity.Navigate.Name);
  42. }
  43. [Fact]
  44. public void UpdateEntityByDto()
  45. {
  46. var entity = new Entity
  47. {
  48. Id = Guid.Empty,
  49. Name = "EntityName",
  50. IsEnable = false,
  51. Navigate = new NavigateEntity { Name = "Navigate" }
  52. };
  53. var dto = new Dto
  54. {
  55. Id = new Guid(1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1),
  56. Name = "DtoName",
  57. IsEnable = true,
  58. NavigateName = "DtoNavigate"
  59. };
  60. dto.MapTo(entity);
  61. Assert.Equal(dto.Id, entity.Id);
  62. Assert.Equal(dto.Name, entity.Name);
  63. Assert.Equal(dto.IsEnable, entity.IsEnable);
  64. Assert.Equal(dto.NavigateName, entity.Navigate.Name);
  65. }
  66. [Fact]
  67. public void DtoToEntity()
  68. {
  69. var dto = new Dto
  70. {
  71. Id = new Guid(1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1),
  72. Name = "DtoName",
  73. IsEnable = true,
  74. NavigateName = "DtoNavigate"
  75. };
  76. var entity = dto.MapTo<Entity>();
  77. Assert.Equal(dto.Id, entity.Id);
  78. Assert.Equal(dto.Name, entity.Name);
  79. Assert.Equal(dto.IsEnable, entity.IsEnable);
  80. Assert.Equal(dto.NavigateName, entity.Navigate.Name);
  81. }
  82. }
  83. }