public void AddGroup_InvalidEmailAddressParameter_ArgumentExceptionThrown(string groupName)
        {
            // Arrange
            IGroupManager groupManager = new GroupManagerImpl(configManagerMock.Object, eventAggregatorMock.Object, groupController.Object);

            // Act
            groupManager.AddGroup(1, groupName, true);
        }
        public void Constructor_ValidParameters_GroupsCollectionInstaniated()
        {
            // Act
            IGroupManager groupManager = new GroupManagerImpl(configManagerMock.Object, eventAggregatorMock.Object, groupController.Object);

            // Assert
            Assert.IsNotNull(groupManager.Groups, "because the constructor instantiates it.");
        }
        public void SaveToDatabase_InvalidGroupNameParameter_ArgumentExceptionThrown(String groupName)
        {
            // Arrange
            IGroupManager groupManager = new GroupManagerImpl(configManagerMock.Object, eventAggregatorMock.Object, groupController.Object);

            // Act
            groupManager.SaveToDatabase(groupName);
        }
        public void AddGroup_ValidParameters_GroupsCollectionPopulated()
        {
            // Arrange
            IGroupManager groupManager = new GroupManagerImpl(configManagerMock.Object, eventAggregatorMock.Object, groupController.Object);

            // Act
            groupManager.AddGroup(1, "groupName", true);
            // Assert
            Assert.IsNotEmpty(groupManager.Groups, "because a new group is added to the collection by AddGroup");
        }
        public void Initialize_StandAloneMode_GroupsCollectionPopulated()
        {
            // Arrange
            IGroupManager groupManager = new GroupManagerImpl(configManagerMock.Object, eventAggregatorMock.Object, groupController.Object);

            configManagerMock.Setup(cm => cm.IsStandAlone).Returns(true);
            // Act
            groupManager.Initialize();
            // Assert
            Assert.IsNotEmpty(groupManager.Groups, "because it is populated in standalone mode.");
        }
        public void AddGroup_ValidParameters_NewGroupEventShouldBePublished()
        {
            // Arrange
            IGroupManager groupManager = new GroupManagerImpl(configManagerMock.Object, eventAggregatorMock.Object, groupController.Object);
            var           wasCalled    = false;

            eventAggregatorMock.Setup(ea => ea.GetEvent <NewGroupEvent>().Publish(It.IsAny <NewGroupEventPayload>())).Callback(() => wasCalled = true);
            // Act
            groupManager.AddGroup(1, "groupName", true);
            // Assert
            Assert.IsTrue(wasCalled, "because a new group is published to all listeners by the AddGroup method.");
        }
Esempio n. 7
0
        public void Initialize()
        {
            var configManager = new ConfigurationManagerImpl();

            container.RegisterInstance <IConfigurationManager>(configManager);
            configManager.Initialize();

            var tasks = new Task[7];

            var underlyingManager = new UnderlyingManagerImpl(configManager, eventAggregator);

            container.RegisterInstance <IUnderlyingManager>(underlyingManager);
            tasks[0] = Task.Factory.StartNew(() => underlyingManager.Initialize());

            var clientManager = new ClientManagerImpl(configManager, eventAggregator);

            container.RegisterInstance <IClientManager>(clientManager);
            tasks[1] = Task.Factory.StartNew(() => clientManager.Initialize());

            var bookManager = new BookManagerImpl(configManager, eventAggregator, new BookControllerClient());

            container.RegisterInstance <IBookManager>(bookManager);
            tasks[2] = Task.Factory.StartNew(() => bookManager.Initialize());

            var bankHolidayManager = new BankHolidayManagerImpl(configManager, eventAggregator);

            container.RegisterInstance <IBankHolidayManager>(bankHolidayManager);
            tasks[3] = Task.Factory.StartNew(() => bankHolidayManager.Initialize());

            var searchManager = new SearchManagerImpl(configManager, eventAggregator);

            container.RegisterInstance <ISearchManager>(searchManager);
            tasks[4] = Task.Factory.StartNew(() => searchManager.Initialize());

            var userManager = new UserManagerImpl(configManager, eventAggregator, new UserControllerClient());

            container.RegisterInstance <IUserManager>(userManager);
            tasks[5] = Task.Factory.StartNew(() => userManager.Initialize());

            var groupManager = new GroupManagerImpl(configManager, eventAggregator, new GroupControllerClient());

            container.RegisterInstance <IGroupManager>(groupManager);
            tasks[6] = Task.Factory.StartNew(() => groupManager.Initialize());

            var optionRequestPersistanceManager = new OptionRequestPersistanceManagerImpl(clientManager, configManager);

            container.RegisterInstance <IOptionRequestPersistanceManager>(optionRequestPersistanceManager);

            container.RegisterType <IOptionRequestParser, OptionRequestParserImpl>(new ContainerControlledLifetimeManager())
            .RegisterType <IOptionRequestPricer, OptionRequestPricerImpl>(new ContainerControlledLifetimeManager())
            .RegisterType <IChatServiceManager, ChatServiceManagerImpl>(new ContainerControlledLifetimeManager())
            .RegisterType <IReportDataManager, ReportDataManagerImpl>(new ContainerControlledLifetimeManager())
            .RegisterInstance(new JsonParserImpl());

            InitializeServerCommunicator(configManager.IsStandAlone);

            // Exceptions thrown by tasks will be propagated to the main thread
            // while it waits for the tasks. The actual exceptions will be wrapped in AggregateException.
            try
            {
                // Wait for all the tasks to finish.
                Task.WaitAll(tasks);

                if (log.IsDebugEnabled)
                {
                    log.Debug("Successfully completed initialization of all service implementations");
                }
            }
            catch (AggregateException e)
            {
                foreach (var exception in e.InnerExceptions)
                {
                    log.Error("Catastrophic failure! Exception thrown: " + exception);
                    throw new ModuleInitializeException();
                }
            }
        }
 public void Constructor_NullGroupControllerProxy_ArgumentNullExceptionThrown()
 {
     // Act
     var test = new GroupManagerImpl(configManagerMock.Object, eventAggregatorMock.Object, null);
 }
 public void Constructor_NullConfigManager_ArgumentNullExceptionThrown()
 {
     // Act
     var test = new GroupManagerImpl(null, eventAggregatorMock.Object, groupController.Object);
 }