コード例 #1
0
        private void btn_Test_Click(object sender, EventArgs e)
        {
            string FilePath = dirPath.Text;

            DynHash <Property> dh = new DynHash <Property>(Int32.Parse(trieDepth.Text), Int32.Parse(blockSize.Text), FilePath + "/block_test.bin", new DHObjectReader(FilePath + "/properties_test.bin"));

            dh.Destruct();
            Random       ids     = new Random(100);
            int          ca      = Int32.Parse(caCount.Text);
            int          prop    = Int32.Parse(propCount.Text);
            List <Int32> idArray = new List <Int32>(ca + prop);
            int          id      = 0;

            for (int i = 1; i <= ca; i++)
            {
                for (int j = 1; j <= prop; j++)
                {
                    id = ids.Next(ca * prop);
                    if (dh.Add(new Property()
                    {
                        ID = id,
                        RN = j,
                        CadastralArea = "CA " + i,
                        Description = "Nejaky text " + i + " " + j
                    }
                               ))
                    {
                        idArray.Add(id);
                    }
                }
            }
            bool notGood = false;

            foreach (int i in idArray)
            {
                if (dh.Find(new Property(i)) == null)
                {
                    notGood = true;
                    break;
                }
            }
            if (notGood)
            {
                MessageBox.Show("There is a problem");
            }
            else
            {
                MessageBox.Show("Its all good");
            }

            dh.Save(FilePath + "/export_test.txt");

            this.Dispose();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            var j = new FilePaths()
            {
                FileTreeData     = "C:/Users/janik/source/repos/US_SemestralnaPraca2/DynamicHash/data/data.txt",
                FileBlockData    = "C:/Users/janik/source/repos/US_SemestralnaPraca2/SystemCore/data/data.txt",
                FileOverflowFile = "C:/Users/janik/source/repos/US_SemestralnaPraca2/SystemCore/data/overflowFile.txt"
            };



            //var raf = new RafTester();
            //raf.DoRafTesting();
            //return;

            //var rTest = new TesterForRealtyClass();
            //rTest.DoDhTesting();
            //return;

            var t = new RandomOperationsTester();

            t.DoDhTesting();
            return;


            var dh = new DynHash <TestRecord>(j, 2, 4);

            while (true)
            {
                Console.WriteLine("__________________________________________");
                Console.WriteLine("Write number to insert new value");
                Console.WriteLine("I-insert / D-delete / F-find value, E-exit, S-save, L-load");
                var line = Console.ReadLine();


                var operation = line[0];
                var sValue    = line.Substring(1);

                switch (Char.ToLower(operation))
                {
                case 'i':
                {
                    dh.Add(new TestRecord(Int32.Parse(sValue)));
                    break;
                }

                case 'd':
                {
                    if (dh.TryRemove(new TestRecord(Int32.Parse(sValue)), out var removed))
                    {
                        Console.WriteLine($"Removed: {removed.Number}");
                    }

                    break;
                }

                case 'e':
                {
                    return;
                }

                case 'l':
                {
                    dh.LoadTreeData();
                    Console.WriteLine("Loaded");
                    break;
                }

                case 's':
                {
                    dh.SaveTreeData();
                    Console.WriteLine("Saved");
                    break;
                }

                case 'f':
                {
                    Console.WriteLine(dh.TryFind(new TestRecord(Int32.Parse(sValue)), out var r));
                    break;
                }

                default:
                {
                    break;
                }
                }
                //dh.Root.Print();
                var free = "";
                //foreach (var dhFreeBlock in dh._freeBlocks)
                //{
                //   free += dhFreeBlock + ", ";
                //}

                //Console.WriteLine("Free blocks: " + free);
                //Console.WriteLine("Max file index: " + dh._blockFile.MaxFileIndex);
            }
        }