[Mono-bugs] [Bug 465875] New: System.Core Lookup<TKey, TElement> does not use the specified comparer
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Jan 13 16:16:52 EST 2009
https://bugzilla.novell.com/show_bug.cgi?id=465875
Summary: System.Core Lookup<TKey,TElement> does not use the
specified comparer
Classification: Mono
Product: Mono: Class Libraries
Version: 2.0.x
Platform: x86
OS/Version: Linux
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Sys.Core
AssignedTo: jbevain at novell.com
ReportedBy: bassam at symform.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1;
NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 3.5.20706; .NET
CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618)
The IEqualityComparer passed to ToLookup is not honored. This result in the
wrong comparison. It looks like the comparer is not passed to the dictionary
that implements lookup.
We would greatly appreciate a fix for this in 2.2.
Reproducible: Always
Steps to Reproduce:
private class Color
{
public string Name;
public int Value;
}
[Test]
public void LookupCase()
{
Color[] colors = new Color[]
{
new Color() { Name = "red", Value = 0xFF0000 },
new Color() { Name = "green", Value = 0x00FF00 },
new Color() { Name = "blue", Value = 0x0000FF },
};
Lookup<string, int> lookup = colors.ToLookup(c => c.Name, c =>
c.Value, StringComparer.OrdinalIgnoreCase) as Lookup<string, int>;
Assert.AreEqual(lookup["Red"].First(), 0xFF0000);
}
Actual Results:
KeyNotFoundException thrown.
Expected Results:
No exception thrown.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list