Esempio n. 1
0
        public bool Execute(IActionMachine machine, IActionController controller)
        {
            if (horzontalCmp != CompareType.none && !CompareUtility.Compare(new Vector2(controller.velocity.x, controller.velocity.z).magnitude, horizontalVelocity, horzontalCmp))
            {
                return(false);
            }
            if (verticalCmp != CompareType.none && !CompareUtility.Compare(controller.velocity.y, verticalVelocity, verticalCmp))
            {
                return(false);
            }

            return(true);
        }
Esempio n. 2
0
        public void CompareDecimalValues(bool result, string operation, double value1, double value2)
        {
            var assert = CompareUtility.Compare(operation, value1, value2);

            Assert.AreEqual(result, assert);
        }
Esempio n. 3
0
        public void PatchDataBase(ITransaction tx, ICollection <Type> entityTypes, bool dropAll)
        {
            try
            {
                foreach (Type entityType in entityTypes)
                {
                    CacheManager.Register(entityType);
                }

                IMetaManipulate         metaManipulate = _dbLayer.MetaManipulate(tx);
                ICollection <IMetaItem> existingItems  = metaManipulate.GetMetaData(tx);
                ICollection <IMetaItem> requiredItems  = CreateMetaItemsFromEntityTypes(entityTypes);

                List <MetaQueryHolder> queryHolders = new List <MetaQueryHolder>();

                if (dropAll)
                {
                    ICollection <IMetaComparisonGroup> groupExisting = CompareUtility.Compare(metaManipulate, existingItems, new List <IMetaItem>());
                    ICollection <IMetaComparisonGroup> groupRequired = CompareUtility.Compare(metaManipulate, new List <IMetaItem>(), requiredItems);

                    List <MetaQueryHolder> queryHoldersExisting = new List <MetaQueryHolder>();
                    foreach (IMetaComparisonGroup comparisonGroup in groupExisting)
                    {
                        queryHoldersExisting.AddRange(_dbLayer.MetaManipulate(tx).CreateDbPathSql(comparisonGroup));
                    }
                    queryHoldersExisting.Sort();

                    List <MetaQueryHolder> queryHoldersRequired = new List <MetaQueryHolder>();
                    foreach (IMetaComparisonGroup comparisonGroup in groupRequired)
                    {
                        queryHoldersRequired.AddRange(_dbLayer.MetaManipulate(tx).CreateDbPathSql(comparisonGroup));
                    }
                    queryHoldersRequired.Sort();

                    queryHolders.AddRange(queryHoldersExisting);
                    queryHolders.AddRange(queryHoldersRequired);
                }
                else
                {
                    ICollection <IMetaComparisonGroup> groups = CompareUtility.Compare(metaManipulate, existingItems, requiredItems);
                    foreach (IMetaComparisonGroup comparisonGroup in groups)
                    {
                        queryHolders.AddRange(_dbLayer.MetaManipulate(tx).CreateDbPathSql(comparisonGroup));
                    }
                    queryHolders.Sort();
                }

                foreach (MetaQueryHolder holder in queryHolders)
                {
                    if (holder.QueryString == null)
                    {
                        continue;
                    }

                    Logger.GetLogger(_config.LoggerName).Debug(holder.QueryString);

                    IDbCommand cmd = tx.CreateCommand();
                    cmd.CommandText = holder.QueryString;
                    cmd.ExecuteNonQuery();
                    DbMgtUtility.Close(cmd);

                    if (_config.EnableStatistics)
                    {
                        _statistics.RegisterPatch();
                    }
                }
            }
            catch (Exception e)
            {
                Logger.GetLogger(_config.LoggerName).Fatal(e.Message, e);
                throw new MetaDataException(e.Message, e);
            }
        }