http://bugzilla.novell.com/show_bug.cgi?id=616416

http://bugzilla.novell.com/show_bug.cgi?id=616416#c0


           Summary: Array.Sort() doesnt sort
    Classification: Mono
           Product: Mono: Runtime
           Version: SVN
          Platform: 64bit
        OS/Version: RHEL 5
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: misc
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; WOW64;
Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152)

The given sample test gives different results under windows .net and mono. Note
that it seems to have something to do with IComparer. If you explicitly change
the comparer to null in the Sort method it will work but in both cases the
comparer is null which is the really strange thing.

Reproducible: Always

Steps to Reproduce:
Run the following Test under windows .net and mono it will generate different
results:

    public class SortClass<T> where T : IComparable<T>
      {


         public void Sort(T[] values, IComparer comparer)
         {
            T[] doubleValues = new T[11];

            doubleValues[0] = values[0];
            doubleValues[1] = values[1];
            doubleValues[2] = values[2];
            doubleValues[3] = values[3];
            doubleValues[4] = values[4];
            doubleValues[5] = values[5];
            doubleValues[6] = values[6];
            doubleValues[7] = values[7];
            doubleValues[8] = values[8];
            doubleValues[9] = values[9];
            doubleValues[10] = values[10];

            int[] indices = new int[11];
            indices[0] = 0;
            indices[1] = 1;
            indices[2] = 2;
            indices[3] = 3;
            indices[4] = 4;
            indices[5] = 5;
            indices[6] = 6;
            indices[7] = 7;
            indices[8] = 8;
            indices[9] = 9;
            indices[10] = 10;

            //the comparer passed in is null 
            //try changing the comparer to null and see how the sorting is
changed even though 
            //both times the comparer is really null, kind of strange
            Array.Sort(doubleValues, indices, comparer);
            foreach (T doubleValue in doubleValues)
            {
               Console.WriteLine("DoubleValue: " + doubleValue);
            }

            foreach (int index in indices)
            {
               Console.WriteLine("IndexValue: " + index);
            }

         }
      }

      [Test]
      public void testSort()
      {
         double[] doubleValues = new double[11];
         doubleValues[0] = 0.221788066253601;
         doubleValues[1] = 0.497278285809481;
         doubleValues[2] = 0.100565033883643;
         doubleValues[3] = 0.0433309347749905;
         doubleValues[4] = 0.00476726438463812;
         doubleValues[5] = 0.1354609735456;
         doubleValues[6] = 0.57690356588135;
         doubleValues[7] = 0.466239434334826;
         doubleValues[8] = 0.409741461978934;
         doubleValues[9] = 0.0112412763949565;
         doubleValues[10] = 0.668704347674307;

         SortClass<double> sortClass = new SortClass<double>();
         sortClass.Sort(doubleValues,null);


      }

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to