public void POSTUpdateIsPopulation()
        {
            var aivm = new AccessionIndexViewModel
            {
                Id           = 12,
                FamilyId     = 13,
                IsPopulation = false
            };
            var genotype = new Genotype
            {
                Id           = 12,
                FamilyId     = 13,
                IsPopulation = true
            };
            var family = new Family
            {
                Id        = 13,
                Genotypes =
                {
                    genotype
                }
            };
            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(m => m.GetGenotype(12)).Returns(genotype);
            mockRepo.Setup(m => m.GetFamily(13)).Returns(family);
            var     controller = new DefaultController(mockRepo.Object);
            var     response   = controller.UpdateIsPopulation(aivm) as JsonResult;
            dynamic json       = response.Data;

            Assert.IsNotNull(response);
            Assert.IsFalse(json.Error);
            Assert.AreEqual(json.Message, String.Empty);
        }
コード例 #2
0
        public async Task GetDataByIdAsync()
        {
            //Arrange
            var data = new List <DefaultModel>()
            {
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 1, Field3 = "default2", Field4 = 2
                },
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 2, Field3 = "default2", Field4 = 3
                }
            };

            var dbSet   = NSubstituteUtils.CreateMockDbSet(data);
            var context = Substitute.For <DefaultContext>();

            context.DefaultModels = dbSet;

            var controller = new DefaultController(context);

            //Act
            var result = await controller.GetDataByIdAsync(data[1].Id);

            //Assert
            Assert.IsInstanceOf(typeof(OkObjectResult), result);
            var resultValue = result as OkObjectResult;

            Assert.AreEqual(data[1], resultValue.Value);
        }
コード例 #3
0
        void InitController()
        {
            DefaultController defaultController = new DefaultController();

            controllerDict.Add(defaultController.RequestCode, defaultController);
            controllerDict.Add(RequestCode.User, new UserController());
        }
コード例 #4
0
ファイル: UnitTest1.cs プロジェクト: DyAnas/WebApp
        public void EndreStasjonPostOk()
        {
            var kontroller = new DefaultController(new TogLogikk(new Togstub()));

            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(kontroller);


            kontroller.Session["loggetInn"]   = true;
            kontroller.Session["leggStasjon"] = true;


            var stasjon = new StasjonV()
            {
                StasjonId   = 1,
                StasjonNavn = "Oslo"
            };

            var res = (RedirectToRouteResult)kontroller.EndreStasjon(stasjon);

            Assert.AreEqual(res.RouteName, "");

            Assert.AreEqual(res.RouteValues.Values.First(), "Stasjoner");
        }
コード例 #5
0
ファイル: UnitTest1.cs プロジェクト: DyAnas/WebApp
        public void Stasjoner()
        {
            var kontroller  = new DefaultController(new TogLogikk(new Togstub()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(kontroller);
            kontroller.Session["loggetInn"] = true;

            var forventrsultat = new List <StasjonV>();
            var stasjon        = new StasjonV
            {
                StasjonId   = 1,
                StasjonNavn = "Oslo"
            };

            forventrsultat.Add(stasjon);
            forventrsultat.Add(stasjon);
            forventrsultat.Add(stasjon);

            var resultat     = (ViewResult)kontroller.Stasjoner();
            var resultatlist = (List <StasjonV>)resultat.Model;

            Assert.AreEqual(resultat.ViewName, "");
            Assert.AreEqual(true, resultat.ViewData["Innlogget"]);

            for (var i = 0; i < resultatlist.Count; i++)
            {
                Assert.AreEqual(forventrsultat[i].StasjonId, resultatlist[i].StasjonId);
                Assert.AreEqual(forventrsultat[i].StasjonNavn, resultatlist[i].StasjonNavn);
            }
        }
コード例 #6
0
        public void Index_ShowsGreeting()
        {
            var controller = new DefaultController();
            var result     = (ContentResult)controller.Index();

            Assert.AreEqual("We're up!", result.Content);
        }
コード例 #7
0
        public void CheckView()
        {
            var controller = new DefaultController();
            var result     = (ViewResult)controller.Index();

            Assert.AreEqual("~/Views/Default/Index.cshtml", result.ViewName);
        }
コード例 #8
0
ファイル: UnitTest1.cs プロジェクト: DyAnas/WebApp
        public void TogListe1()
        {
            var controller  = new DefaultController(new TogLogikk(new Togstub()));
            var SessionMock = new TestControllerBuilder();


            SessionMock.InitializeController(controller);
            controller.Session["loggetInn"] = true;
            var forventetResultat = new List <TogV>();
            var togliste          = new TogV()
            {
                TogId   = 1,
                TogNavn = "Osloskien"
            };

            forventetResultat.Add(togliste);
            forventetResultat.Add(togliste);
            forventetResultat.Add(togliste);

            var resultat      = (ViewResult)controller.TogListe();
            var resultatListe = (List <TogV>)resultat.Model;


            Assert.AreEqual(true, resultat.ViewData["Innlogget"]);

            for (var i = 0; i < resultatListe.Count; i++)
            {
                Assert.AreEqual(forventetResultat[i].TogId, resultatListe[i].TogId);
                Assert.AreEqual(forventetResultat[i].TogNavn, resultatListe[i].TogNavn);
            }
            Assert.AreEqual(resultat.ViewName, "");
            Assert.AreEqual(null, resultat.ViewData["leggtog"]);
        }
コード例 #9
0
        public void InitController()
        {
            //添加到字典中
            DefaultController defaultController = new DefaultController();

            controllerDict.Add(defaultController.RequestCode, defaultController);
        }
        public void POSTCreateInvalidSessionTest()
        {
            var genotype = new Genotype
            {
                Id = 12,
            };
            var viewModel = new AccessionViewModel
            {
                Id = 12,
            };

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(m => m.GetGenotype(12)).Returns(genotype);

            var controller = new DefaultController(mockRepo.Object);

            controller.ModelState.AddModelError("err", "errerr");

            var response = controller.Create(viewModel) as ViewResult;

            Assert.IsNotNull(response);
            Console.WriteLine(response.ViewData.ToArray());
            Assert.IsNotNull((response.ViewData.Model as AccessionViewModel).FamilyId);
        }
コード例 #11
0
ファイル: DefaultForm.cs プロジェクト: windygu/ger20160318
 public DefaultForm(DefaultController controller)
 {
     InitializeComponent();
     _uiController        = controller;
     tbbAnterior.Visible  = !_uiController.IsFirstTask() && !_uiController.IsFlushedState();
     tbbSeparator.Visible = !_uiController.IsFirstTask() && !_uiController.IsFlushedState();
 }
コード例 #12
0
        public void TestGet()
        {
            var controller = new DefaultController();
            var response   = controller.Get();

            Assert.AreEqual("Running API Cibergestion by BC...", response);
        }
        public void DeleteTest()
        {
            CreateContext();
            DefaultController <ObjectMappingForTest> defaultController = new DefaultController <ObjectMappingForTest>(new FakeLogger(),
                                                                                                                      new FetchDomainData <ObjectMappingForTest>(_uow),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, EditParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryEditItem <ObjectMappingForTest, EditParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryDeleteItem <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)));

            var exArgumentException = Assert.ThrowsExceptionAsync <ArgumentException>(() => defaultController.Delete(10));

            Assert.AreEqual("Записи для удаления не существует.", exArgumentException.Result.Message);

            //Проверка успешного удаления записи
            long       idDelete  = 3;
            JsonResult resultAdd = defaultController.Delete(idDelete).Result;
            BaseResultType <PrepareItemResult <ObjectMappingForTest> > resultSuccessQuery = (BaseResultType <PrepareItemResult <ObjectMappingForTest> >)resultAdd.Value;

            Assert.AreEqual(ResultStatus.Success, resultSuccessQuery.Status);
            Assert.IsNotNull(resultSuccessQuery.Data.Item);

            //Проверка запроса из БД, что запись удалилась
            JsonResult result = defaultController.GetAsync(new FetchDataParameters()
            {
                CountOnPage = 10, PageNumber = 1
            }).Result;
            BaseResultType <ResultFetchData <ObjectMappingForTest> > fetchDataResultQuery = (BaseResultType <ResultFetchData <ObjectMappingForTest> >)result.Value;

            Assert.AreEqual(ResultStatus.Success, fetchDataResultQuery.Status);
            Assert.AreEqual(2, fetchDataResultQuery.Data.TotalCountRows);

            Assert.AreEqual(2, fetchDataResultQuery.Data.Items.Count);
            Assert.IsFalse(fetchDataResultQuery.Data.Items.Any(x => x.Id == idDelete));
        }
        public void EditTest()
        {
            CreateContext();
            DefaultController <ObjectMappingForTest> defaultController = new DefaultController <ObjectMappingForTest>(new FakeLogger(),
                                                                                                                      new FetchDomainData <ObjectMappingForTest>(_uow),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, EditParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryEditItem <ObjectMappingForTest, EditParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryDeleteItem <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)));

            //Проверка редактирования без ID.Будет ошибка, так как нет идентификатора записи
            EditParamOfCRUDOperation <ObjectMappingForTest> paramQueryAdd = new EditParamOfCRUDOperation <ObjectMappingForTest>();

            paramQueryAdd.Item = new ObjectMappingForTest()
            {
                IntValue  = 1,
                IntValue2 = 1,
                StrValue  = "1"
            };
            var exArgumentException = Assert.ThrowsExceptionAsync <ArgumentException>(() => defaultController.Edit(paramQueryAdd));

            Assert.AreEqual("Объект не найден в БД для изменения.", exArgumentException.Result.Message);

            //Проверка успешного изменения записи
            paramQueryAdd.Item = new ObjectMappingForTest()
            {
                Id        = 3,
                IntValue  = 1,
                IntValue2 = 1,
                StrValue  = "1"
            };
            JsonResult resultAdd = defaultController.Edit(paramQueryAdd).Result;
            BaseResultType <PrepareItemResult <ObjectMappingForTest> > resultSuccessQuery = (BaseResultType <PrepareItemResult <ObjectMappingForTest> >)resultAdd.Value;

            Assert.AreEqual(ResultStatus.Success, resultSuccessQuery.Status);
            Assert.IsNotNull(resultSuccessQuery.Data.Item);

            Assert.IsInstanceOfType(resultSuccessQuery.Data.Item, typeof(ObjectMappingForTest), "Вернулся тип объекта не ObjectMappingForTest после сохранения этого объекта.");
            Assert.AreEqual(1, ((ObjectMappingForTest)resultSuccessQuery.Data.Item).IntValue);
            Assert.AreEqual(1, ((ObjectMappingForTest)resultSuccessQuery.Data.Item).IntValue2);
            Assert.AreEqual("1", ((ObjectMappingForTest)resultSuccessQuery.Data.Item).StrValue);
            Assert.AreEqual(3, ((ObjectMappingForTest)resultSuccessQuery.Data.Item).Id);


            //Проверка запроса из БД, что запись не добавилась
            JsonResult result = defaultController.GetAsync(new FetchDataParameters()
            {
                CountOnPage = 10, PageNumber = 1
            }).Result;
            BaseResultType <ResultFetchData <ObjectMappingForTest> > fetchDataResultQuery = (BaseResultType <ResultFetchData <ObjectMappingForTest> >)result.Value;

            Assert.AreEqual(ResultStatus.Success, fetchDataResultQuery.Status);
            Assert.AreEqual(3, fetchDataResultQuery.Data.TotalCountRows);

            ObjectMappingForTest itemFromDB = fetchDataResultQuery.Data.Items[2];

            Assert.AreEqual(1, itemFromDB.IntValue);
            Assert.AreEqual(1, itemFromDB.IntValue2);
            Assert.AreEqual("1", itemFromDB.StrValue);
            Assert.AreEqual(3, itemFromDB.Id);
        }
コード例 #15
0
ファイル: Control.cs プロジェクト: richmondx/Unity-WinForms
        public Control()
        {
            if (Parent != null && Parent.Owner != null)
            {
                Parent.Owner.Run(this);
            }
            else if (DefaultController != null)
            {
                DefaultController.Run(this);
            }

            Anchor    = AnchorStyles.Left | AnchorStyles.Top;
            Controls  = new ControlCollection(this);
            Enabled   = true;
            Font      = new Drawing.Font("Arial", 12);
            ForeColor = Color.Black;
            TabIndex  = -1;
            UserGroup = true;
            _visible  = true;

#if UNITY_EDITOR
            var stackTrace = UnityEngine.StackTraceUtility.ExtractStackTrace();
            Source = stackTrace;
#endif
        }
コード例 #16
0
        public void Setup()
        {
            configurationAccessor = Options.Create <Configuration>(new Configuration()
            {
                Currencies = new System.Collections.Generic.List <CurrencySetting>()
                {
                    new CurrencySetting {
                        ISO = "USD", ApiUrl = "http://www.bancoprovincia.com.ar/Principal/Dolar", FakeValue = 1, MaxSupported = 200
                    },
                    new CurrencySetting {
                        ISO = "BRL", ApiUrl = "", FakeValue = 1, MaxSupported = 300
                    }
                }
            });

            var options = new DbContextOptionsBuilder <CurrencyDBContext>().UseInMemoryDatabase("ServiceTest").Options;

            currencyDBContext = new CurrencyDBContext(options);

            currencyRepository        = new CurrencyRepository(currencyDBContext);
            rateTransactionRepository = new RateTransactionRepository(currencyDBContext);

            unitOfWork   = new UnitOfWork(currencyDBContext, currencyRepository, rateTransactionRepository);
            currencyRate = new CurrencyRate();
            request      = new Request();

            defaulController = new DefaultController(configurationAccessor, request, currencyRate, unitOfWork);
        }
コード例 #17
0
        public async Task UpdateDataById_ModelStateError()
        {
            //Arrange
            var data = new List <DefaultModel>()
            {
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 1, Field3 = "default2", Field4 = 2
                },
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 2, Field3 = "default2", Field4 = 3
                }
            };

            var dbSet   = NSubstituteUtils.CreateMockDbSet(data);
            var context = Substitute.For <DefaultContext>();

            context.DefaultModels = dbSet;

            var controller = new DefaultController(context);

            controller.ModelState.AddModelError("test", "Error");

            var newValue = new DefaultModel {
                Id = data[0].Id, Field1 = "default", Field2 = 5, Field3 = "default2", Field4 = 7
            };

            //Act
            var result = await controller.UpdateDataByIdAsync(newValue);

            //Assert
            Assert.IsInstanceOf(typeof(BadRequestObjectResult), result);
        }
コード例 #18
0
        public async Task DeleteDataById()
        {
            //Arrange
            var data = new List <DefaultModel>()
            {
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 1, Field3 = "default2", Field4 = 2
                },
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 2, Field3 = "default2", Field4 = 3
                }
            };

            var dbSet   = NSubstituteUtils.CreateMockDbSet(data);
            var context = Substitute.For <DefaultContext>();

            context.DefaultModels = dbSet;

            var controller = new DefaultController(context);

            //Act
            var result = await controller.DeleteDataById(data[0].Id);

            //Assert
            Assert.IsInstanceOf(typeof(OkObjectResult), result);
            dbSet.Received(1).Remove(Arg.Any <DefaultModel>());
            await context.Received(1).SaveChangesAsync();
        }
コード例 #19
0
        public void InterfaceReRegisteredFromInstanceToInstance_Success()
        {
            var c = new Container();
            IEmptyClass emptyClass = new EmptyClass();
            c.RegisterInstance(emptyClass).AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result1 = controller.ResolveObject<IEmptyClass>(c, ResolveKind.PartialEmitFunction);
            var emptyClass1 = (IEmptyClass)((ViewResult)result1).Model;
            var result2 = controller.ResolveObject<IEmptyClass>(c, ResolveKind.PartialEmitFunction);
            var emptyClass2 = (IEmptyClass)((ViewResult)result2).Model;

            IEmptyClass emptyClass3 = new EmptyClass();
            c.RegisterInstance(emptyClass3).AsPerHttpContext();
            var result4 = controller.ResolveObject<IEmptyClass>(c, ResolveKind.PartialEmitFunction);
            var emptyClass4 = (IEmptyClass)((ViewResult)result4).Model;
            var result5 = controller.ResolveObject<IEmptyClass>(c, ResolveKind.PartialEmitFunction);
            var emptyClass5 = (IEmptyClass)((ViewResult)result5).Model;

            Assert.AreEqual(emptyClass, emptyClass1);
            Assert.AreEqual(emptyClass1, emptyClass2);
            Assert.AreEqual(emptyClass3, emptyClass4);
            Assert.AreEqual(emptyClass4, emptyClass5);
            Assert.AreNotEqual(emptyClass, emptyClass3);
        }
コード例 #20
0
        public void TestGet()
        {
            var dc  = new DefaultController();
            var res = dc.Get();

            Assert.IsTrue(res.IsSuccessStatusCode);
        }
        public void GETDeleteHappyTest()
        {
            int?id       = 12;
            var expected = new Genotype
            {
                Id        = 12,
                GivenName = "bananas"
            };

            var mockRepo = new Mock <IPlantBreedingRepo>();

            mockRepo.Setup(r => r.GetGenotype(id.Value)).Returns(expected);

            var controller = new DefaultController(mockRepo.Object);

            var response = controller.Delete(id) as ViewResult;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Model);
            Assert.IsNotNull(response.Model as Genotype);

            var actual = response.Model as Genotype;

            Assert.AreEqual(expected, actual);
        }
コード例 #22
0
        public async Task GetDataById_NotFoundResultAsync()
        {
            //Arrange
            var data = new List <DefaultModel>()
            {
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 1, Field3 = "default2", Field4 = 2
                },
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 2, Field3 = "default2", Field4 = 3
                }
            };

            var dbSet   = NSubstituteUtils.CreateMockDbSet(data);
            var context = Substitute.For <DefaultContext>();

            context.DefaultModels = dbSet;

            var controller = new DefaultController(context);

            //Act
            var result = await controller.GetDataByIdAsync(Guid.Empty);

            //Assert
            Assert.IsInstanceOf(typeof(NotFoundResult), result);
        }
コード例 #23
0
        public void GetAllData()
        {
            //Arrange
            var data = new List <DefaultModel>()
            {
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 1, Field3 = "default2", Field4 = 2
                },
                new DefaultModel {
                    Id = Guid.NewGuid(), Field1 = "default", Field2 = 2, Field3 = "default2", Field4 = 3
                }
            };

            var dbSet   = NSubstituteUtils.CreateMockDbSet(data);
            var context = Substitute.For <DefaultContext>();

            context.DefaultModels = dbSet;

            var controller = new DefaultController(context);

            //Act
            var result = controller.GetAllData().ToList();

            //Assert
            Assert.AreEqual(data, result);
        }
コード例 #24
0
        public void TODO()
        {
            var controllerContext = new Mock <IControllerContext>();
            var controller        = new DefaultController(controllerContext.Object);

            Assert.Inconclusive();
        }
コード例 #25
0
ファイル: Program.cs プロジェクト: Domcik8/University
        static void Main(string[] args)
        {
            UIFactory   UIFactory  = new UIFactory(new UIDialog(), new NobleChangesReporter(), new InstituteChangesReporter());
            IController controller = new DefaultController(new WarFactory(), new NobleRepository(), new InstituteRepository(),
                                                           UIFactory, new DefaultCommandProcessor());

            controller.StartCourotine();
        }
コード例 #26
0
        public void TestMethod1()
        {
            var defaultController = new DefaultController();
            var actual            = defaultController.Index() as ViewResult;
            var expected          = "Index";

            Assert.AreEqual(expected, actual.ViewName, "View Name is not correct");
        }
コード例 #27
0
        void InitController()
        {
            DefaultController defaultController = new DefaultController();
            UserController    userController    = new UserController();

            controllerDict.Add(defaultController.RequestCode, defaultController);
            controllerDict.Add(userController.RequestCode, userController);
        }
コード例 #28
0
        public void default_controller_index_method_should_return_an_instance_of_viewresult()
        {
            DefaultController controller = new DefaultController();

            var result = controller.Index();

            Assert.IsType <ViewResult>(result);
        }
コード例 #29
0
        public async void GetTest()
        {
            var test       = GetIssues();
            var controller = new DefaultController(test);
            var result     = await controller.Get() as List <Issues>;

            Assert.AreEqual(test.Count, result.Count);
        }
コード例 #30
0
        /// <summary>
        /// 初始化
        /// </summary>
        void Init()
        {
            // 向字典添加默认controller
            DefaultController defaultController = new DefaultController();

            controllerDic.Add(defaultController.RequestCode, defaultController);
            controllerDic.Add(RequestCode.User, new UserController());
        }
コード例 #31
0
        public void SetUp()
        {
            _mainHelper  = new Mock <IMainHelper>();
            _appSettings = new Mock <IAppSettings>();
            _userManager = new Mock <IUserManager>();

            _defaultController = new DefaultController(_mainHelper.Object, _appSettings.Object, _userManager.Object);
        }
        public void RegisteredInterfaceAsClassWithTwoConstructorsWithAttributeDependencyConstrutor_Fail()
        {
            var c = new Container();
            c.RegisterType<EmptyClass>().AsPerHttpContext();
            c.RegisterType<ISampleClass, SampleClassWithTwoDependencyConstrutor>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result = controller.ResolveObject<ISampleClass>(c, ResolveKind.PartialEmitFunction);
            var sampleClass = (ISampleClass)((ViewResult)result).Model;

            Assert.IsNull(sampleClass);
        }
        public void NestedFactoryObjectReturnNewObject_Success()
        {
            var c = new Container();
            c.RegisterType<IEmptyClass>(() => new EmptyClass()).AsPerHttpContext();
            c.RegisterType<ISampleClassWithInterfaceAsParameter, SampleClassWithInterfaceAsParameter>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result1 = controller.ResolveObject<ISampleClassWithInterfaceAsParameter>(c, ResolveKind.PartialEmitFunction);
            var sampleClass1 = (ISampleClassWithInterfaceAsParameter)((ViewResult)result1).Model;
            var result2 = controller.ResolveObject<ISampleClassWithInterfaceAsParameter>(c, ResolveKind.PartialEmitFunction);
            var sampleClass2 = (ISampleClassWithInterfaceAsParameter)((ViewResult)result2).Model;

            Assert.AreEqual(sampleClass1, sampleClass2);
            Assert.AreEqual(sampleClass1.EmptyClass, sampleClass2.EmptyClass);
        }
        public void RegisterClassWithNestedInterfaceAsParameterWithInterfaceAsParameterAndWithConstructorWithAttributeDependencyConstrutor_Success()
        {
            var c = new Container();
            c.RegisterType<IEmptyClass, EmptyClass>().AsPerHttpContext();
            c.RegisterType<ISampleClassWithInterfaceAsParameter, SampleClassWithInterfaceAsParameterWithDependencyConstrutor>().AsPerHttpContext();
            c.RegisterType<SampleClassWithNestedInterfaceAsParameterWithDependencyConstrutor>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result = controller.ResolveObject<SampleClassWithNestedInterfaceAsParameterWithDependencyConstrutor>(c, ResolveKind.PartialEmitFunction);
            var sampleClass = (SampleClassWithNestedInterfaceAsParameterWithDependencyConstrutor)((ViewResult)result).Model;

            Assert.IsNotNull(sampleClass);
            Assert.IsNotNull(sampleClass.SampleClassWithInterfaceAsParameter);
            Assert.IsNotNull(sampleClass.SampleClassWithInterfaceAsParameter.EmptyClass);
        }
コード例 #35
0
        public void RegisterGenericClassWithClassWithNestedClass_Success()
        {
            var c = new Container();
            c.RegisterType<IEmptyClass, EmptyClass>().AsPerHttpContext();
            c.RegisterType<ISampleClassWithInterfaceAsParameter, SampleClassWithInterfaceAsParameter>().AsPerHttpContext();
            c.RegisterType<IGenericClass<ISampleClassWithInterfaceAsParameter>, GenericClass<ISampleClassWithInterfaceAsParameter>>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result = controller.ResolveObject<IGenericClass<ISampleClassWithInterfaceAsParameter>>(c, ResolveKind.PartialEmitFunction);
            var genericClass = (IGenericClass<ISampleClassWithInterfaceAsParameter>)((ViewResult)result).Model;

            Assert.IsNotNull(genericClass);
            Assert.IsNotNull(genericClass.NestedClass);
            Assert.IsNotNull(genericClass.NestedClass.EmptyClass);
        }
コード例 #36
0
        public void RegisterGenericClassWithManyParameters_Success()
        {
            var c = new Container();
            c.RegisterType<EmptyClass>().AsPerHttpContext();
            c.RegisterType<SampleClass>().AsPerHttpContext();
            c.RegisterType<GenericClassWithManyParameters<EmptyClass, SampleClass>>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result = controller.ResolveObject<GenericClassWithManyParameters<EmptyClass, SampleClass>>(c, ResolveKind.FullEmitFunction);
            var genericClass = (GenericClassWithManyParameters<EmptyClass, SampleClass>)((ViewResult)result).Model;

            Assert.IsNotNull(genericClass);
            Assert.IsNotNull(genericClass.NestedClass1);
            Assert.IsNotNull(genericClass.NestedClass2);
            Assert.IsNotNull(genericClass.NestedClass2.EmptyClass);
            Assert.AreEqual(genericClass.NestedClass1, genericClass.NestedClass2.EmptyClass);
        }
コード例 #37
0
        public void DifferentHttpContext_RegisterClass_Success()
        {
            var c = new Container();
            c.RegisterType<EmptyClass>().AsPerHttpContext();
            c.RegisterType<SampleClass>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result1 = controller.ResolveObject<SampleClass>(c, ResolveKind.PartialEmitFunction);
            var sampleClass1 = (SampleClass)((ViewResult)result1).Model;
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result2 = controller.ResolveObject<SampleClass>(c, ResolveKind.PartialEmitFunction);
            var sampleClass2 = (SampleClass)((ViewResult)result2).Model;

            Assert.IsNotNull(sampleClass1);
            Assert.IsNotNull(sampleClass1.EmptyClass);
            Assert.IsNotNull(sampleClass2);
            Assert.IsNotNull(sampleClass2.EmptyClass);
            Assert.AreNotEqual(sampleClass1, sampleClass2);
            Assert.AreNotEqual(sampleClass1.EmptyClass, sampleClass2.EmptyClass);
        }
コード例 #38
0
        public void ClassReRegisteredFromClassToTheSameClass_Success()
        {
            var c = new Container();
            c.RegisterType<EmptyClass>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result1 = controller.ResolveObject<EmptyClass>(c, ResolveKind.PartialEmitFunction);
            var emptyClass1 = (EmptyClass)((ViewResult)result1).Model;
            var result2 = controller.ResolveObject<EmptyClass>(c, ResolveKind.PartialEmitFunction);
            var emptyClass2 = (EmptyClass)((ViewResult)result2).Model;

            c.RegisterType<EmptyClass>().AsPerHttpContext();
            var result3 = controller.ResolveObject<EmptyClass>(c, ResolveKind.PartialEmitFunction);
            var emptyClass3 = (EmptyClass)((ViewResult)result3).Model;
            var result4 = controller.ResolveObject<EmptyClass>(c, ResolveKind.PartialEmitFunction);
            var emptyClass4 = (EmptyClass)((ViewResult)result4).Model;

            Assert.AreEqual(emptyClass1, emptyClass2);
            Assert.AreEqual(emptyClass3, emptyClass4);
            Assert.AreNotEqual(emptyClass1, emptyClass3);
        }
コード例 #39
0
        public void DifferentThreads_RegisterManyGenericClasses_Success()
        {
            var c = new Container();
            c.RegisterType<IEmptyClass, EmptyClass>().AsPerHttpContext();
            c.RegisterType<ISampleClassWithInterfaceAsParameter, SampleClassWithInterfaceAsParameter>().AsPerHttpContext();
            c.RegisterType<IGenericClass<IEmptyClass>, GenericClass<IEmptyClass>>().AsPerHttpContext();
            c.RegisterType<IGenericClass<ISampleClassWithInterfaceAsParameter>, GenericClass<ISampleClassWithInterfaceAsParameter>>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result1 = controller.ResolveObject<IGenericClass<IEmptyClass>>(c, ResolveKind.PartialEmitFunction);
            var genericClass1 = (IGenericClass<IEmptyClass>)((ViewResult)result1).Model;

            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result2 = controller.ResolveObject<IGenericClass<ISampleClassWithInterfaceAsParameter>>(c, ResolveKind.PartialEmitFunction);
            var genericClass2 = (IGenericClass<ISampleClassWithInterfaceAsParameter>)((ViewResult)result2).Model;

            Assert.AreNotEqual(genericClass1, genericClass2);
            Assert.AreNotEqual(genericClass1.GetType(), genericClass2.GetType());
            Assert.AreNotEqual(genericClass1.NestedClass, genericClass2.NestedClass.EmptyClass);
            Assert.AreEqual(genericClass1.NestedClass.GetType(), genericClass2.NestedClass.EmptyClass.GetType());
        }
コード例 #40
0
        public void InterfaceReRegisteredFromOneClassToTheOther_Success()
        {
            var c = new Container();
            c.RegisterType<EmptyClass>().AsPerHttpContext();
            c.RegisterType<ISampleClass, SampleClass>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result1 = controller.ResolveObject<ISampleClass>(c, ResolveKind.PartialEmitFunction);
            var sampleClass1 = (ISampleClass)((ViewResult)result1).Model;
            var result2 = controller.ResolveObject<ISampleClass>(c, ResolveKind.PartialEmitFunction);
            var sampleClass2 = (ISampleClass)((ViewResult)result2).Model;

            c.RegisterType<ISampleClass, SampleClassOther>().AsPerHttpContext();
            var result3 = controller.ResolveObject<ISampleClass>(c, ResolveKind.PartialEmitFunction);
            var sampleClass3 = (ISampleClass)((ViewResult)result3).Model;
            var result4 = controller.ResolveObject<ISampleClass>(c, ResolveKind.PartialEmitFunction);
            var sampleClass4 = (ISampleClass)((ViewResult)result4).Model;

            Assert.AreEqual(sampleClass1, sampleClass2);
            Assert.AreEqual(sampleClass1.GetType(), sampleClass2.GetType());
            Assert.AreEqual(sampleClass1.EmptyClass, sampleClass2.EmptyClass);
            Assert.AreEqual(sampleClass3, sampleClass4);
            Assert.AreEqual(sampleClass3.GetType(), sampleClass4.GetType());
            Assert.AreEqual(sampleClass3.EmptyClass, sampleClass4.EmptyClass);
            Assert.AreNotEqual(sampleClass1, sampleClass3);
            Assert.AreNotEqual(sampleClass1.GetType(), sampleClass3.GetType());
            Assert.AreEqual(sampleClass1.EmptyClass, sampleClass3.EmptyClass);
        }
コード例 #41
0
        public void InternalIntTypeNotRegistered_Fail()
        {
            var c = new Container();
            c.RegisterType<SampleClassWithIntType>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result = controller.ResolveObject<SampleClassWithIntType>(c, ResolveKind.PartialEmitFunction);
            var sampleClassWithSimpleType = (SampleClassWithIntType)((ViewResult)result).Model;

            Assert.IsNull(sampleClassWithSimpleType);
        }
コード例 #42
0
        public void RegisterClassWithCycleInConstructor_Fail()
        {
            var c = new Container();
            c.RegisterType<SecondClassWithCycleInConstructor>().AsPerHttpContext();
            c.RegisterType<FirstClassWithCycleInConstructor>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result = controller.ResolveObject<FirstClassWithCycleInConstructor>(c, ResolveKind.PartialEmitFunction);
            var sampleClass = (FirstClassWithCycleInConstructor)((ViewResult)result).Model;

            Assert.IsNull(sampleClass);
        }
コード例 #43
0
        public void RegisterClassWithConstructorWithoutParameters_Success()
        {
            var c = new Container();
            c.RegisterType<EmptyClass>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result = controller.ResolveObject<EmptyClass>(c, ResolveKind.FullEmitFunction);
            var emptyClass = (EmptyClass)((ViewResult)result).Model;

            Assert.IsNotNull(emptyClass);
        }
コード例 #44
0
        public void SameThread_RegisterManyGenericClasses_Success()
        {
            var c = new Container();
            c.RegisterType<EmptyClass>().AsPerHttpContext();
            c.RegisterType<SampleClass>().AsPerHttpContext();
            c.RegisterType<GenericClass<EmptyClass>>().AsPerHttpContext();
            c.RegisterType<GenericClass<SampleClass>>().AsPerHttpContext();

            var controller = new DefaultController();
            HttpContext.Current = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()));
            var result1 = controller.ResolveObject<GenericClass<EmptyClass>>(c, ResolveKind.FullEmitFunction);
            var genericClass1 = (GenericClass<EmptyClass>)((ViewResult)result1).Model;
            var result2 = controller.ResolveObject<GenericClass<SampleClass>>(c, ResolveKind.FullEmitFunction);
            var genericClass2 = (GenericClass<SampleClass>)((ViewResult)result2).Model;

            Assert.AreNotEqual(genericClass1, genericClass2);
            Assert.AreNotEqual(genericClass1.GetType(), genericClass2.GetType());
            Assert.AreEqual(genericClass1.NestedClass, genericClass2.NestedClass.EmptyClass);
            Assert.AreEqual(genericClass1.NestedClass.GetType(), genericClass2.NestedClass.EmptyClass.GetType());
        }