Пример #1
0
        public void Test_Add_Invalid()
        {
            var entity     = new EntitySample();
            var repository = _serviceProvider.GetService <IRepositorySample>();

            AssertHelper.Throws <Warning>(() => repository.Add(entity), "名称不能为空");
        }
        /// <summary>
        /// 测试 - 初始化
        /// </summary>
        public CrudServiceTest()
        {
            _id     = Guid.NewGuid();
            _id2    = Guid.NewGuid();
            _entity = new EntitySample(_id)
            {
                Name = "A"
            };
            _entity2 = new EntitySample(_id2)
            {
                Name = "B"
            };
            _dto = new DtoSample {
                Id = _id.ToString(), Name = "A"
            };
            _dto2 = new DtoSample {
                Id = _id2.ToString(), Name = "B"
            };
            _unitOfWork = Substitute.For <IUnitOfWork>();
            _repository = Substitute.For <IRepositorySample>();
            _service    = new CrudServiceSample(_unitOfWork, _repository);
            var mapper = new AutoMapperMapper();

            MapperExtensions.SetMapper(mapper);
        }
Пример #3
0
 public void TestMapTo_MultipleThread()
 {
     Thread.WaitAll(() => {
         var sample = new Sample {
             StringValue = "a"
         };
         var sample2 = sample.MapTo <Sample2>();
         Assert.Equal("a", sample2.StringValue);
     }, () => {
         var sample = new DtoSample {
             Name = "a"
         };
         var sample2 = sample.MapTo <EntitySample>();
         Assert.Equal("a", sample2.Name);
     }, () => {
         var sample = new Sample2 {
             StringValue = "a"
         };
         var sample2 = sample.MapTo <Sample>();
         Assert.Equal("a", sample2.StringValue);
     }, () => {
         var sample = new EntitySample {
             Name = "a"
         };
         var sample2 = sample.MapTo <DtoSample>();
         Assert.Equal("a", sample2.Name);
     });
 }
Пример #4
0
        public void TestAdd_Invalid()
        {
            EntitySample entity     = new EntitySample();
            var          repository = _container.Create <IRepositorySample>();

            AssertHelper.Throws <Warning> (() => repository.Add(entity), "名称不能为空");
        }
        /// <summary>
        /// 测试 - 初始化
        /// </summary>
        public QueryServiceTest()
        {
            _id     = Guid.NewGuid();
            _id2    = Guid.NewGuid();
            _entity = new EntitySample(_id)
            {
                Name = "A"
            };
            _entity2 = new EntitySample(_id2)
            {
                Name = "B"
            };
            _repository = Substitute.For <IRepositorySample>();
            _service    = new QueryServiceSample(_repository);
            _service.LazyServiceProvider = Substitute.For <ILazyServiceProvider>();
            var allAssemblyFinder       = new AppDomainAllAssemblyFinder();
            var mapperProfileTypeFinder = new MapperProfileTypeFinder(allAssemblyFinder);
            var instances = mapperProfileTypeFinder
                            .FindAll()
                            .Select(type => Bing.Reflection.Reflections.CreateInstance <IObjectMapperProfile>(type))
                            .ToList();
            var configuration = new MapperConfiguration(cfg =>
            {
                foreach (var instance in instances)
                {
                    Debug.WriteLine($"初始化AutoMapper配置:{instance.GetType().FullName}");
                    instance.CreateMap();
                    // ReSharper disable once SuspiciousTypeConversion.Global
                    cfg.AddProfile(instance as Profile);
                }
            });
            var mapper = new AutoMapperObjectMapper(configuration, instances);

            ObjectMapperExtensions.SetMapper(mapper);
        }
Пример #6
0
        public void Test_Add_Valid()
        {
            var entity = new EntitySample {
                Name = "a"
            };
            var repository = _serviceProvider.GetService <IRepositorySample>();

            repository.Add(entity);
        }
Пример #7
0
        public void TestAdd_Valid()
        {
            EntitySample entity = new EntitySample {
                Name = "a"
            };
            var repository = _container.Create <IRepositorySample>();

            repository.Add(entity);
        }
Пример #8
0
        public void Test_MapTo_Ignore()
        {
            DtoSample sample2 = new DtoSample {
                Name = "a", IgnoreValue = "b"
            };
            EntitySample sample = sample2.MapTo <EntitySample>();

            Assert.Equal("a", sample.Name);
            Assert.Null(sample.IgnoreValue);
            DtoSample sample3 = sample.MapTo <DtoSample>();

            Assert.Equal("a", sample3.Name);
            Assert.Null(sample3.IgnoreValue);
        }
Пример #9
0
 /// <summary>
 /// 测试初始化
 /// </summary>
 public QueryServiceTest()
 {
     _id     = Guid.NewGuid();
     _id2    = Guid.NewGuid();
     _entity = new EntitySample(_id)
     {
         Name = "A"
     };
     _entity2 = new EntitySample(_id2)
     {
         Name = "B"
     };
     _repository = Substitute.For <IRepositorySample>();
     _service    = new QueryServiceSample(_repository);
 }
Пример #10
0
        public void Test_MapTo_CastleProxy()
        {
            Castle.DynamicProxy.ProxyGenerator proxyGenerator = new Castle.DynamicProxy.ProxyGenerator();
            var proxy = proxyGenerator.CreateClassProxy <DtoSample>();

            proxy.Name = "a";
            EntitySample sample = proxy.MapTo <EntitySample>();

            Assert.Equal("a", sample.Name);

            var proxy2 = proxyGenerator.CreateClassProxy <DtoSample>();

            proxy2.Name = "b";
            sample      = proxy2.MapTo <EntitySample>();
            Assert.Equal("b", sample.Name);
        }
Пример #11
0
        public async Task TestSaveAsync_Update_1()
        {
            var entity = new EntitySample(_id);

            _repository.FindAsync(_id).Returns(t => entity);
            var input = new List <DtoSample> {
                new DtoSample {
                    Id = _id.ToString(), Name = "b"
                }
            };
            await _service.SaveAsync(DtoSample.EmptyList(), input, DtoSample.EmptyList());

            await _repository.Received(1).UpdateAsync(Arg.Any <EntitySample>());

            await _repository.Received().UpdateAsync(Arg.Is <EntitySample>(t => t.Id == _id && t.Name == "b"));
        }
Пример #12
0
 /// <summary>
 /// 测试 - 初始化
 /// </summary>
 public QueryServiceTest()
 {
     _id     = Guid.NewGuid();
     _id2    = Guid.NewGuid();
     _entity = new EntitySample(_id)
     {
         Name = "A"
     };
     _entity2 = new EntitySample(_id2)
     {
         Name = "B"
     };
     _repository = Substitute.For <IRepositorySample>();
     _service    = new QueryServiceSample(_repository);
     //var mapper = new AutoMapperMapper();
     //MapperExtensions.SetMapper(mapper);
 }
Пример #13
0
 /// <summary>
 /// 测试初始化
 /// </summary>
 public CrudServiceTest()
 {
     _id     = Guid.NewGuid();
     _id2    = Guid.NewGuid();
     _entity = new EntitySample(_id)
     {
         Name = "A"
     };
     _entity2 = new EntitySample(_id2)
     {
         Name = "B"
     };
     _dto = new DtoSample {
         Id = _id.ToString(), Name = "A"
     };
     _dto2 = new DtoSample {
         Id = _id2.ToString(), Name = "B"
     };
     _repository = Substitute.For <IRepositorySample>();
     _service    = new CrudServiceSample(_repository);
 }