Example #1
0
 private static IterationData ToReverse(IterationData itdata)
 {
     return(new IterationData(
                IndexesHelper.Add(itdata.End, -1),
                IndexesHelper.Add(itdata.Start, -1),
                !itdata.Reverse));
 }
Example #2
0
        public static void Iterate(Array arr, int[] startIndexes, int[] endIndexes, Action <Array, int[]> action, bool reverse)
        {
            if (startIndexes.Length != endIndexes.Length || (arr != null && arr.Rank != startIndexes.Length))
            {
                throw new ArgumentException(
                          "Indexes must have the same length equal to input array rank.", "startIndexes");
            }

            Iterate(arr, 0, IndexesHelper.Zero(startIndexes.Length), startIndexes, endIndexes, action, reverse);
        }
Example #3
0
        public void InsertTest(
            [Values(2, 987, 100, 17, 3, 2, 1)] int length,
            [Values(1, 2, 2, 3, 3, 2, 16)] int rank,
            [Values(0, 0, 1, 2, 2, 1, 5)] int dim)
        {
            var idata   = new InsertionData(length, rank, dim);
            var zeroIdx = IndexesHelper.Zero(idata.Rank);

            // Build O and A hypercubes lengths
            var alengths = IndexesHelper.Add(zeroIdx, idata.Length);
            var olengths = IndexesHelper.Multiply(alengths, 2);

            // Build O and A hypercubes
            var oarray = ArrayHelper.New().NewArray <object>(olengths).FillWith("O").As <Array>();
            var aarray = ArrayHelper.New().NewArray <object>(alengths).FillWith("A").As <Array>();

            // NOTE capacities are set to the minimum to force buffer resize
            var capacities = IndexesHelper.Add(IndexesHelper.Zero(idata.Rank), 1);
            var dynarray   = new DynamicArray <string>(idata.Rank, capacities);

            dynarray.Insert(oarray, 0, zeroIdx);
            DynamicArrayAssert.Included(dynarray, oarray, IndexesHelper.Zero(idata.Rank));
            DynamicArrayAssert.CountsEqual(dynarray, olengths);

            var pos      = IndexesHelper.Add(alengths, -1);
            var expected = IndexesHelper.Clone(olengths);

            expected[idata.Dim] += alengths[idata.Dim];
            dynarray.Insert(aarray, idata.Dim, pos);
            DynamicArrayAssert.CountsEqual(dynarray, expected);
            DynamicArrayAssert.Included(dynarray, aarray, pos);
            DynamicArrayAssert.Included(
                dynarray,
                oarray,
                IndexesHelper.Add(pos, alengths),
                idata.Rank > 1 ? IndexesHelper.Add(pos, alengths) : pos,
                olengths);
        }
Example #4
0
        private void WriteMetaDataInCHM()
        {
            SetStatus("Writing Columns...");
            ColumnsHelper.WriteColumns();
            backgroundWorker2.ReportProgress(5, ObjectTypes.Columns);

            SetStatus("Writing ForeignKeys...");
            ForeignKeysHelper.WriteForeignKeys();
            backgroundWorker2.ReportProgress(10, ObjectTypes.ForeignKeys);

            SetStatus("Writing IndexColumns...");
            IndexColumnsHelper.WriteIndexColumns();
            backgroundWorker2.ReportProgress(15, ObjectTypes.IndexColumns);

            SetStatus("Writing Indexes...");
            IndexesHelper.WriteIndexes();
            backgroundWorker2.ReportProgress(20, ObjectTypes.Indexes);

            SetStatus("Writing Tables...");
            TablesHelper.WriteTables();
            backgroundWorker2.ReportProgress(25, ObjectTypes.Tables);

            SetStatus("Writing ViewColumns...");
            ViewColumnsHelper.WriteViewColumns();
            backgroundWorker2.ReportProgress(30, ObjectTypes.ViewColumns);

            SetStatus("Writing Views...");
            ViewsHelper.WriteViews();
            backgroundWorker2.ReportProgress(35, ObjectTypes.Views);

            SetStatus("Writing ProcedureParameters...");
            ProcedureParametersHelper.WriteProcedureParameters();
            backgroundWorker2.ReportProgress(40, ObjectTypes.ProcedureParameters);

            SetStatus("Writing Procedures...");
            ProceduresHelper.WriteProcedures();
            backgroundWorker2.ReportProgress(45, ObjectTypes.Procedures);

            SetStatus("Writing Triggers...");
            SMOHelper.TriggersHelper.WriteTriggers();
            backgroundWorker2.ReportProgress(50, ObjectTypes.Triggers);

            SetStatus("Writing UserDefinedDataTypes...");
            SMOHelper.UserDefinedDataTypesHelper.WriteUserDefinedDataTypes();
            backgroundWorker2.ReportProgress(55, ObjectTypes.UserDefinedDataTypes);

            SetStatus("Writing InstanceInformation...");
            InstanceInformationHelper.WriteInstanceInformation();
            backgroundWorker2.ReportProgress(60, ObjectTypes.InstanceInformation);

            SetStatus("Writing DataSourceInformation...");
            DataSourceInformationHelper.WriteDataSourceInformation();
            backgroundWorker2.ReportProgress(65, ObjectTypes.DataSourceInformation);

            SetStatus("Writing DataTypes...");
            DataTypesHelper.WriteDataTypes();
            backgroundWorker2.ReportProgress(70, ObjectTypes.DataTypes);

            SetStatus("Writing Restrictions...");
            RestrictionsHelper.WriteRestrictions();
            backgroundWorker2.ReportProgress(75, ObjectTypes.Restrictions);

            SetStatus("Writing ReservedWords...");
            ReservedWordsHelper.WriteReservedWords();
            backgroundWorker2.ReportProgress(80, ObjectTypes.ReservedWords);

            SetStatus("Writing Users...");
            UsersHelper.WriteUsers();
            backgroundWorker2.ReportProgress(85, ObjectTypes.Users);
        }
Example #5
0
        private void GetMetaData()
        {
            SetStatus("Fetching Columns...");
            ColumnsHelper.GetColumns();
            backgroundWorker1.ReportProgress(5, ObjectTypes.Columns);

            SetStatus("Fetching ForeignKeys...");
            ForeignKeysHelper.GetForeignKeys();
            backgroundWorker1.ReportProgress(10, ObjectTypes.ForeignKeys);

            SetStatus("Fetching IndexColumns...");
            IndexColumnsHelper.GetIndexColumns();
            backgroundWorker1.ReportProgress(15, ObjectTypes.IndexColumns);

            SetStatus("Fetching Indexes...");
            IndexesHelper.GetIndexes();
            backgroundWorker1.ReportProgress(20, ObjectTypes.Indexes);

            SetStatus("Fetching Tables...");
            TablesHelper.GetTables();
            backgroundWorker1.ReportProgress(25, ObjectTypes.Tables);

            SetStatus("Fetching ViewColumns...");
            ViewColumnsHelper.GetViewColumns();
            backgroundWorker1.ReportProgress(30, ObjectTypes.ViewColumns);

            SetStatus("Fetching Views...");
            ViewsHelper.GetViews();
            backgroundWorker1.ReportProgress(35, ObjectTypes.Views);

            SetStatus("Fetching ProcedureParameters...");
            ProcedureParametersHelper.GetProcedureParameters();
            backgroundWorker1.ReportProgress(40, ObjectTypes.ProcedureParameters);

            SetStatus("Fetching Procedures...");
            ProceduresHelper.GetProcedures();
            backgroundWorker1.ReportProgress(45, ObjectTypes.Procedures);

            SetStatus("Fetching Triggers...");
            SMOHelper.TriggersHelper.GetTriggers(Utility.DatabaseName);
            backgroundWorker1.ReportProgress(50, ObjectTypes.Triggers);

            SetStatus("Fetching UserDefinedDataTypes...");
            SMOHelper.UserDefinedDataTypesHelper.GetUserDefinedDataTypes(Utility.DatabaseName);
            backgroundWorker1.ReportProgress(55, ObjectTypes.UserDefinedDataTypes);

            SetStatus("Fetching InstanceInformation...");
            InstanceInformationHelper.GetInstanceInformation();
            backgroundWorker1.ReportProgress(60, ObjectTypes.InstanceInformation);

            SetStatus("Fetching DataSourceInformation...");
            DataSourceInformationHelper.GetDataSourceInformation();
            backgroundWorker1.ReportProgress(65, ObjectTypes.DataSourceInformation);

            SetStatus("Fetching DataTypes...");
            DataTypesHelper.GetDataTypes();
            backgroundWorker1.ReportProgress(70, ObjectTypes.DataTypes);

            SetStatus("Fetching Restrictions...");
            RestrictionsHelper.GetRestrictions();
            backgroundWorker1.ReportProgress(75, ObjectTypes.Restrictions);

            SetStatus("Fetching ReservedWords...");
            ReservedWordsHelper.GetReservedWords();
            backgroundWorker1.ReportProgress(80, ObjectTypes.ReservedWords);

            SetStatus("Fetching Users...");
            UsersHelper.GetUsers();
            backgroundWorker1.ReportProgress(85, ObjectTypes.Users);
        }
Example #6
0
 public static void Iterate(Array arr, Action <Array, int[]> action)
 {
     Iterate(arr, IndexesHelper.Zero(arr.Rank), IndexesHelper.UpperBound(arr), action, false);
 }
Example #7
0
 public override void Enumerate(Array arr, int[] indexes)
 {
     Assert.AreEqual((T)arr.GetValue(indexes), this.DynArray[IndexesHelper.Add(indexes, this.position)]);
 }
Example #8
0
 public Inclusion(DynamicArray <T> darr, int[] position, int[] offset) : base(darr)
 {
     this.position = IndexesHelper.Substract(position, offset);
 }
Example #9
0
 /// <summary>
 /// Asserts the two arrays have the same elements.
 /// Checks count equality using <see cref="CountsEqual{T}"/>.
 /// Elements are get from the <see cref="DynamicArray{T}"/> using its indexer.
 /// </summary>
 /// <typeparam name="T"> The type of the elements int the <see cref="DynamicArray{T}"/>. </typeparam>
 /// <param name="dynarray"> The <see cref="DynamicArray{T}"/> being checked. </param>
 /// <param name="arr"> The array containing the actual elements. </param>
 public static void AreElementsEqual <T>(DynamicArray <T> dynarray, Array arr)
 {
     CountsEqual(dynarray, IndexesHelper.UpperBound(arr));
     Included(dynarray, arr, IndexesHelper.Zero(arr.Rank));
 }