public void should_create_singleton_instance_by_default() { var container = new SimpleIocContainer(); container.Register <ITypeToResolve, ConcreteType>(); object instance = container.Resolve(typeof(ITypeToResolve)); Assert.That(container.Resolve(typeof(ITypeToResolve)), Is.SameAs(instance)); }
public void can_create_transient_instance() { var container = new SimpleIocContainer(); container.Register <ITypeToResolve, ConcreteType>(LifeCycle.Transient); object instance = container.Resolve(typeof(ITypeToResolve)); Assert.That(container.Resolve(typeof(ITypeToResolve)), Is.Not.SameAs(instance)); }
static void Main(string[] args) { DataBaseInitializer <TaskContext> .InitializedDatabase(); IContainer container = new SimpleIocContainer(); BootStrapper.Configure(container); ICommandDispatcher commandDispatcher = container.Resolve <ICommandDispatcher>(); IQueryDispatcher queryDispatcher = container.Resolve <IQueryDispatcher>(); var createCommand = new CreateTaskCommand { Title = "CQRS Örneği", UserName = "******", IsCompleted = false, CreatedOn = DateTime.Now, UpdatedOn = DateTime.Now }; commandDispatcher.Execute(createCommand); var getTasksQuery = new GetTasksQuery(); getTasksQuery.Predicate = (t) => t.IsCompleted == false; IQueryable <Task> tasks = queryDispatcher.Query <GetTasksQuery, IQueryable <Task> >(getTasksQuery); Console.WriteLine("Bitmemiş tasklar getiriliyor."); foreach (var task in tasks.ToList()) { Console.WriteLine(task); } var lastTask = tasks.ToList().LastOrDefault(); var changeCommand = new ChangeTaskStatusCommand { TaskId = 24, IsCompleted = true, UpdatedOn = DateTime.Now.AddMinutes(5) }; commandDispatcher.Execute(changeCommand); Console.ReadLine(); }
public void should_resolve_object() { var container = new SimpleIocContainer(); container.Register <ITypeToResolve, ConcreteType>(); object instance = container.Resolve(typeof(ITypeToResolve)); Assert.IsInstanceOf <ConcreteType>(instance); }
public void should_resolve_object_with_registered_constructor_parameters() { var container = new SimpleIocContainer(); container.Register <ITypeToResolve, ConcreteType>(); container.Register <ITypeToResolveWithConstructorParams, ConcreteTypeWithConstructorParams>(); object instance = container.Resolve(typeof(ITypeToResolveWithConstructorParams)); Assert.IsInstanceOf <ConcreteTypeWithConstructorParams>(instance); }
public void should_throw_exception_if_type_not_registered() { var container = new SimpleIocContainer(); container.Resolve(typeof(ITypeToResolve)); }