Esempio n. 1
0
        public void MergeSortFloat()
        {
            var values = new float[] { 3.14f, 66.6f, 42.5f, 0.567f, -867.3f, 55.7f, 14.3f };

            Sort.MergeSort(values, NumericUtilities.FloatNumberComparer <float>());
            Assert.IsTrue(TestHelper.IsSortedAscending(values));
        }
        public void FloatNumberComparer()
        {
            var comparer = NumericUtilities.FloatNumberComparer <double>();

            Assert.IsTrue(comparer.Compare(1.0, 2.0) < 0);
            Assert.AreEqual(comparer.Compare(0.02, 0.02), 0);
            Assert.IsTrue(comparer.Compare(13.07, 11.22) > 0);
        }
Esempio n. 3
0
        public void LinkedListSort()
        {
            var list = new LinkedList <float> {
                -54.4f, 18.4f, 3.14f, 85.5f, -111.11f, 54.34f, 41.5f, 69.4f
            };

            list.Sort(NumericUtilities.FloatNumberComparer <float>());
            Assert.IsTrue(TestHelper.IsSortedAscending(list));
        }
Esempio n. 4
0
 public void HeapSortAdvanced()
 {
     {
         var array = new int[] { -42, -42, 314, 22, 0, 41, 14, 11, 13, 13, 0, 5, -56, -800 };
         Sort.HeapSort(array, TestHelper.DescedingComparer <int>());
         Assert.IsTrue(TestHelper.IsSortedAscending(array.Reverse()));
     }
     {
         var array = new float[] { 0.225f, 2.4f, 888.8f, 42.424242f, 0.98f, 0.435f };
         Sort.HeapSort(array, NumericUtilities.FloatNumberComparer <float>());
         Assert.IsTrue(TestHelper.IsSortedAscending(array));
     }
 }
        public void SplayTreeConstructorWithKeyComparer()
        {
            var tree = new SplayTree <double, int>(NumericUtilities.FloatNumberComparer <double>());

            tree.Add(0.0000001, 0);
            var node = tree.Find(0.000001);

            Assert.IsTrue(node.HasValue);
            Assert.AreEqual(node.Value.Value, 0);
            tree.Add(0.00000012, 1); // Should overwrite previous inserted value
            node = tree.Find(0.00000012);
            Assert.IsTrue(node.HasValue);
            Assert.AreEqual(node.Value.Value, 1);
        }
        public void BinaryHeapRemoveAll()
        {
            var heap = new BinaryHeap <float>(NumericUtilities.FloatNumberComparer <float>())
            {
                0.1f, 0.56f, 0.234f, 0.66f, 0.231f, 0.234f, 0.1f
            };

            heap.RemoveAll(0.1f);
            Assert.IsTrue(heap.Comparer.Compare(0.231f, heap.Pop()) == 0);
            heap.RemoveAll(v => heap.Comparer.Compare(0.234f, v) == 0);
            Assert.IsTrue(heap.Comparer.Compare(0.56f, heap.Pop()) == 0);
            Assert.IsTrue(heap.Comparer.Compare(0.66f, heap.Pop()) == 0);
            Assert.AreEqual(heap.Count, 0);
        }