public static void SetUp(TestContext context)
        {
            _unitOfWork = new UnitOfWork();
            _memberFactory = new MemberFactory();
            _gomeeFactory = new GomeeFactory();
            _targetFactory = new TargetFactory();
            _targetDecorator = new TargetDecorator(_targetFactory, _unitOfWork.TargetRepository);

            _member = _memberFactory.CreateMember(Guid.NewGuid().ToString());
            _gomee = _gomeeFactory.CreateGomee(_member);
            _target = _targetFactory.CreateGomeeTarget(_member, _gomee);

            using (var uow = new UnitOfWork())
            {
                uow.MemberRepository.Add(_member);
                uow.GomeeRepository.Add(_gomee);
                uow.TargetRepository.Add(_target);
                uow.PersistAll();
                _oldCount = uow.TargetRepository.Count();
            }

            _targetDecorator.Remove(_unitOfWork.TargetRepository.Get(_target.Id));
            _unitOfWork.PersistAll();

            _newCount = _unitOfWork.TargetRepository.Count();

            try
            {
                _loadedTarget = _unitOfWork.TargetRepository.Get(_target.Id);
            }
            catch (ArgumentException)
            {
                _loadedTarget = null;
            }
        }
        public static void SetUp(TestContext context)
        {
            _unitOfWork = new UnitOfWork();
            _memberFactory = new MemberFactory();
            _gomeeFactory = new GomeeFactory();
            _targetFactory = new TargetFactory();
            _targetDecorator = new TargetDecorator(_targetFactory, _unitOfWork.TargetRepository);

            _member = _memberFactory.CreateMember(Guid.NewGuid().ToString());
            _gomee = _gomeeFactory.CreateGomee(_member);
            _targets = new List<Target>();

            using (var uow = new UnitOfWork())
            {
                uow.MemberRepository.Add(_member);
                uow.GomeeRepository.Add(_gomee);

                var count = new Random().Next(2, 5);
                for (var i = 0; i < count; i++)
                {
                    var target = _targetFactory.CreateGomeeTarget(_member, _gomee);
                    _targets.Add(target);
                    uow.TargetRepository.Add(target);
                }

                uow.PersistAll();
            }

            _loadedTargets = _targetDecorator.GetFor(_unitOfWork.GomeeRepository.Get(_gomee.Id));
        }
        /// <summary>
        /// Конструктор для создания <see cref="BufferingTargetFactory{TKey,TItem}"/>.
        /// </summary>
        /// <param name="targetFactory">Фабрика, которая используется для создания целей, куда будут отправляться элементы из буфера.</param>
        /// <param name="exceptionHandler">Обработчик исключения, которые могут возникнуть при отпрвки элементов.</param>
        /// <param name="bifferConsumersCount">Кол-во потребителей буфера.</param>
        public BufferingTargetFactory(ITargetFactory <TKey, TItem> targetFactory, IExceptionHandler exceptionHandler, int bifferConsumersCount = 1)
        {
            Contract.Requires <ArgumentNullException>(targetFactory != null);
            Contract.Requires <ArgumentNullException>(exceptionHandler != null);
            Contract.Requires <ArgumentException>(bifferConsumersCount >= 1);

            _targetFactory        = targetFactory;
            _exceptionHandler     = exceptionHandler;
            _bifferConsumersCount = bifferConsumersCount;
        }
Esempio n. 4
0
        /// <summary>
        /// Конуструктор для создания <see cref="GroupingItemsTarget{TKey,TItem}"/>.
        /// </summary>
        /// <param name="targetGroupFactory">Фабрика создания целей, куда будут отправляться элементы с одинаковым ключом.</param>
        /// <param name="itemToKeyConverter">Извлекатель ключей из элементов. Ключи используются для выбора цели отправки.</param>
        public GroupingItemsTarget(ITargetFactory <TKey, TItem> targetGroupFactory, IConverter <TItem, TKey> itemToKeyConverter)
        {
            Contract.Requires <ArgumentNullException>(targetGroupFactory != null);
            Contract.Requires <ArgumentNullException>(itemToKeyConverter != null);

            _itemToKeyConverter = itemToKeyConverter;
            _targetGroupFactory = targetGroupFactory;

            _targets = new ConcurrentDictionary <TKey, ITarget <TItem> >();
        }
Esempio n. 5
0
        /// <summary>
        /// Конструктор для создания <see cref="BatchingTargetFactory{TKey,TItem}"/>.
        /// </summary>
        /// <param name="targetFactory">Фабрика, которая используется для создания целей, куда будут отправляться пачки</param>
        /// <param name="batchSize">Размер пачки.</param>
        /// <param name="forceSendTimeout">Время по ситченеии которого элементы в буфере будут отправлены в цель, даже если <paramref name="batchSize"/> ещё не набран.</param>
        /// <param name="exceptionHandler">Обработчик искючений, которые могут возникнуть во время отправки пачки.</param>
        public BatchingTargetFactory(ITargetFactory <TKey, IReadOnlyCollection <TItem> > targetFactory, int batchSize, TimeSpan forceSendTimeout, IExceptionHandler exceptionHandler)
        {
            Contract.Requires <ArgumentNullException>(targetFactory != null);
            Contract.Requires <ArgumentException>(batchSize != 0);
            Contract.Requires <ArgumentException>(forceSendTimeout != TimeSpan.MinValue);
            Contract.Requires <ArgumentNullException>(exceptionHandler != null);

            _targetFactory    = targetFactory;
            _batchSize        = batchSize;
            _forceSendTimeout = forceSendTimeout;
            _exceptionHandler = exceptionHandler;
        }
        public static void SetUp(TestContext context)
        {
            _memberFactory = new MemberFactory();
            _gomeeFactory = new GomeeFactory();
            _gomeeTargetFactory = new TargetFactory();

            using (var uow = new UnitOfWork())
            {
                _me = _memberFactory.CreateMember(Guid.NewGuid().ToString());
                _he = _memberFactory.CreateMember(Guid.NewGuid().ToString());

                uow.MemberRepository.Add(_me);
                uow.MemberRepository.Add(_he);

                _hisGomees = new List<Gomee>();
                _mineGomees = new List<Gomee>();
                _targets = new List<Target>();

                var count = new Random().Next(2, 5);
                for (var i = 0; i < count; i++)
                {
                    var mineGomee = _gomeeFactory.CreateGomee(_me);
                    var mineTarget = _gomeeTargetFactory.CreateGomeeTarget(_me, mineGomee);
                    var hisGome = _gomeeFactory.CreateGomee(_he);
                    var hisTarget1 = _gomeeTargetFactory.CreateGomeeTarget(_me, hisGome);
                    var hisTarget2 = _gomeeTargetFactory.CreateGomeeTarget(_me, hisGome);

                    _mineGomees.Add(mineGomee);
                    _hisGomees.Add(hisGome);
                    _targets.Add(mineTarget);
                    _targets.Add(hisTarget1);
                    _targets.Add(hisTarget2);

                    uow.GomeeRepository.Add(mineGomee);
                    uow.GomeeRepository.Add(hisGome);
                    uow.TargetRepository.Add(mineTarget);
                    uow.TargetRepository.Add(hisTarget1);
                    uow.TargetRepository.Add(hisTarget2);
                }

                uow.PersistAll();
            }

            using (var uow = new UnitOfWork())
            {
                var member = uow.MemberRepository.Get(_me.Id);
                _loadedGomees = uow.GomeeRepository.GetTheirsFor(member);
            }
        }
    public DbContextTestFixture(
        IServiceCollection serviceCollection     = null,
        IDependencyRetriever dependencyRetriever = null,
        IConstructorFilter constructorFilter     = null,
        ITargetFactory <T> targetFactory         = null)
    {
        var services = ServiceCollectionFactory.Create(serviceCollection ?? new ServiceCollection())
                       .AddDatabaseTestingUtilities <TContext>()
                       .BuildServiceProvider();

        this.DependencyRetriever = dependencyRetriever ?? services.GetService <IDependencyRetriever>();
        this.ConstructorFilter   = constructorFilter ?? services.GetService <IConstructorFilter>();
        this.TargetFactory       = targetFactory ?? new TargetFactory <T>(this.ConstructorFilter);
        this.Setup();
    }
Esempio n. 8
0
        public static void SetUp(TestContext context)
        {
            _unitOfWork = new UnitOfWork();
            _memberFactory = new MemberFactory();
            _gomeeFactory = new GomeeFactory();
            _targetFactory = new TargetFactory();
            _targetDecorator = new TargetDecorator(_targetFactory, _unitOfWork.TargetRepository);

            _member = _memberFactory.CreateMember(Guid.NewGuid().ToString());
            _gomee = _gomeeFactory.CreateGomee(_member);
            _target = _targetFactory.CreateGomeeTarget(_member, _gomee);

            using (var uow = new UnitOfWork())
            {
                uow.MemberRepository.Add(_member);
                uow.GomeeRepository.Add(_gomee);
                uow.TargetRepository.Add(_target);
                uow.PersistAll();
            }

            _loadedTarget = _targetDecorator.Get(_target.Id);
        }
 public static void SetUp(TestContext context)
 {
     _unitOfWork = new UnitOfWork();
     _repository = _unitOfWork.TargetRepository;
     _factory = new TargetFactory();
 }
 public FactoryTargetFilter(ITargetFactory <TTarget> targetFactory)
 {
     _targetFactory = targetFactory;
 }
 void IBindConfigurator <TContext, TTarget> .SetTargetFactory(ITargetFactory <TTarget> targetFactory)
 {
     _filterFactory = () => new FactoryTargetFilter <TTarget>(targetFactory);
 }
Esempio n. 12
0
        private static Target Create(int projectID, string targetName)
        {
            TargetClass targetClass;

            if (!Enum.TryParse <TargetClass>(targetName, true, out targetClass))
            {
                // handscoring targets must have GroupName thats starts with Handscoring (case-insensitive)
                if (targetName.StartsWith("Handscoring", StringComparison.InvariantCultureIgnoreCase))
                {
                    targetClass = TargetClass.Handscoring;
                }
                else
                {
                    targetClass = TargetClass.General;
                }
            }

            MetaDataEntry e = ServiceLocator.Resolve <ConfigurationHolder>().GetFromMetaData(projectID, targetName, Variables.TargetType.ToString());

            TargetType type;

            if (e == null || !Enum.TryParse <TargetType>(e.TextVal ?? "", true, out type))
            {
                type = TargetType.Custom;
            }

            e = ServiceLocator.Resolve <ConfigurationHolder>().GetFromMetaData(projectID, targetName, Variables.XMLVersion.ToString());
            XMLAdapter.AdapterType xmlVersion;
            if (e == null || !Enum.TryParse <XMLAdapter.AdapterType>(e.TextVal, true, out xmlVersion))
            {
                xmlVersion = XMLAdapter.AdapterType.TDS; // default to proprietary
            }
            // if a transform is configured, load it
            FileTransformSpec transformSpec = null;

            e = ServiceLocator.Resolve <ConfigurationHolder>().GetFromMetaData(projectID, targetName, Variables.Transform.ToString());
            if (e != null)
            {
                string xsltName          = e.TextVal;
                bool   validateTransform = Convert.ToBoolean(e.IntVal); // int val can be used to enforce validation.  Default = 0/false.
                transformSpec = FileTransformSpec.Create(xsltName, validateTransform);
            }

            Target t = null;

            ITargetFactory f = ServiceLocator.Resolve <ITargetFactory>();

            if (f == null)
            {
                throw new QAException("There is no ITargetFactory in the service repository.", QAException.ExceptionType.ConfigurationError);
            }
            t = f.Create(targetName, targetClass, type, xmlVersion, transformSpec);
            if (t == null)
            {
                throw new QAException(String.Format("Could not create Target: {0}", targetName), QAException.ExceptionType.ConfigurationError);
            }

            t.CreateDate = DateTime.Now;

            return(t);
        }
Esempio n. 13
0
 public DefaultTargetSelector(ITargetFactory factory, ITargetNameExtractor extractor)
 {
     _factory   = factory;
     _extractor = extractor;
 }