[linqbridge] 2 new revisions pushed by azizatif on 2012-04-16 19:12 GMT

0 views
Skip to first unread message

linqb...@googlecode.com

unread,
Apr 16, 2012, 3:12:43 PM4/16/12
to linqbridg...@googlegroups.com
2 new revisions:

Revision: c68254e00b82
Author: azizatif
Date: Mon Apr 16 10:59:34 2012
Log: Reformatting tabs as spaces
http://code.google.com/p/linqbridge/source/detail?r=c68254e00b82

Revision: f8234998bc9c
Author: azizatif
Date: Mon Apr 16 12:04:29 2012
Log: Fixed issue #24: Except and Intersect fails when any of argument
seque...
http://code.google.com/p/linqbridge/source/detail?r=f8234998bc9c

==============================================================================
Revision: c68254e00b82
Author: azizatif
Date: Mon Apr 16 10:59:34 2012
Log: Reformatting tabs as spaces
http://code.google.com/p/linqbridge/source/detail?r=c68254e00b82

Modified:
/test/LINQBridge.Tests/EnumerableFixture.cs

=======================================
--- /test/LINQBridge.Tests/EnumerableFixture.cs Mon Apr 16 08:51:59 2012
+++ /test/LINQBridge.Tests/EnumerableFixture.cs Mon Apr 16 10:59:34 2012
@@ -1291,36 +1291,36 @@
var persons = Read(Person.CreatePersons());
Assert.That(persons.Max(p => p.Age), Is.EqualTo(24));
}
-
- [Test]
- public void Max_NullableIntsWithSelector_ReturnsMaxValue()
- {
- Assert.That(Read<int?>(1, 2, 3, null).Max(x => x.HasValue ? x * 2 :
null), Is.EqualTo(6));
- }
-
- [Test]
- public void Max_NullableLongsWithSelector_ReturnsMaxValue()
- {
- Assert.That(Read<long?>(1L, 2L, 3L, null).Max(x => x.HasValue ? x * 2 :
null), Is.EqualTo(6));
- }
-
- [Test]
- public void Max_NullableDoublesWithSelector_ReturnsMaxValue()
- {
- Assert.That(Read<double?>(1.0, 2.0, 3.0, null).Max(x => x.HasValue ? x
* 2 : null), Is.EqualTo(6));
- }
-
- [Test]
- public void Max_NullableDecimalsWithSelector_ReturnsMaxValue()
- {
- Assert.That(Read<decimal?>(1m, 2m, 3m, null).Max(x => x.HasValue ? x *
2 : null), Is.EqualTo(6));
- }
-
- [Test]
- public void Max_NullableFloatsWithSelector_ReturnsMaxValue()
- {
- Assert.That(Read<float?>(1F, 2F, 3F, null).Max(x => x.HasValue ? x *
2 : null), Is.EqualTo(6));
- }
+
+ [Test]
+ public void Max_NullableIntsWithSelector_ReturnsMaxValue()
+ {
+ Assert.That(Read<int?>(1, 2, 3, null).Max(x => x.HasValue ? x
* 2 : null), Is.EqualTo(6));
+ }
+
+ [Test]
+ public void Max_NullableLongsWithSelector_ReturnsMaxValue()
+ {
+ Assert.That(Read<long?>(1L, 2L, 3L, null).Max(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(6));
+ }
+
+ [Test]
+ public void Max_NullableDoublesWithSelector_ReturnsMaxValue()
+ {
+ Assert.That(Read<double?>(1.0, 2.0, 3.0, null).Max(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(6));
+ }
+
+ [Test]
+ public void Max_NullableDecimalsWithSelector_ReturnsMaxValue()
+ {
+ Assert.That(Read<decimal?>(1m, 2m, 3m, null).Max(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(6));
+ }
+
+ [Test]
+ public void Max_NullableFloatsWithSelector_ReturnsMaxValue()
+ {
+ Assert.That(Read<float?>(1F, 2F, 3F, null).Max(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(6));
+ }

[Test]
[ExpectedException(typeof(InvalidOperationException))]
@@ -1365,41 +1365,41 @@
Assert.That(source.Min(), Is.EqualTo(1.111m).Within(0.01));
}

- [Test]
- public void Min_NullableIntsWithSelector_ReturnsMinimumNonNullValue()
- {
- Assert.That(Read<long?>(199, 10, null, 30).Min(x => x.HasValue ? x *
2 : null), Is.EqualTo(20));
- }
-
- [Test]
- public void Min_NullableLongsWithSelector_ReturnsMinimumNonNullValue()
- {
- Assert.That(Read<long?>(199L, 10L, null, 30L).Min(x => x.HasValue ? x *
2 : null), Is.EqualTo(20));
- }
-
- [Test]
- public void Min_NullableFloatsWithSelector_ReturnsMinimumNonNullValue()
- {
- Assert.That(Read<float?>(199f, 10f, null, 30f).Min(x => x.HasValue ? x
* 2 : null), Is.EqualTo(20));
- }
-
- [Test]
- public void Min_NullableDoublesWithSelector_ReturnsMinimumNonNullValue()
- {
- Assert.That(Read<double?>(199L, 10L, null, 30L).Min(x => x.HasValue ? x
* 2 : null), Is.EqualTo(20));
- }
-
- [Test]
- public void Min_NullableDecimalsWithSelector_ReturnsMinimumNonNullValue()
- {
- Assert.That(Read<decimal?>(199m, 10m, null, 30m).Min(x => x.HasValue ?
x * 2 : null), Is.EqualTo(20));
- }
-
- [Test]
- public void Min_StringsWithSelector_ReturnsMinimum()
- {
- Assert.That(Read("the", "quick", "brown", "fox").Min(x => x.Last() +
x), Is.EqualTo("ethe"));
- }
+ [Test]
+ public void
Min_NullableIntsWithSelector_ReturnsMinimumNonNullValue()
+ {
+ Assert.That(Read<long?>(199, 10, null, 30).Min(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(20));
+ }
+
+ [Test]
+ public void
Min_NullableLongsWithSelector_ReturnsMinimumNonNullValue()
+ {
+ Assert.That(Read<long?>(199L, 10L, null, 30L).Min(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(20));
+ }
+
+ [Test]
+ public void
Min_NullableFloatsWithSelector_ReturnsMinimumNonNullValue()
+ {
+ Assert.That(Read<float?>(199f, 10f, null, 30f).Min(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(20));
+ }
+
+ [Test]
+ public void
Min_NullableDoublesWithSelector_ReturnsMinimumNonNullValue()
+ {
+ Assert.That(Read<double?>(199L, 10L, null, 30L).Min(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(20));
+ }
+
+ [Test]
+ public void
Min_NullableDecimalsWithSelector_ReturnsMinimumNonNullValue()
+ {
+ Assert.That(Read<decimal?>(199m, 10m, null, 30m).Min(x =>
x.HasValue ? x * 2 : null), Is.EqualTo(20));
+ }
+
+ [Test]
+ public void Min_StringsWithSelector_ReturnsMinimum()
+ {
+ Assert.That(Read("the", "quick", "brown", "fox").Min(x =>
x.Last() + x), Is.EqualTo("ethe"));
+ }

[Test]
public void Min_Chars_ReturnsMinimumBySortOrder()

==============================================================================
Revision: f8234998bc9c
Author: azizatif
Date: Mon Apr 16 12:04:29 2012
Log: Fixed issue #24: Except and Intersect fails when any of argument
sequences contain null elements
http://code.google.com/p/linqbridge/source/detail?r=f8234998bc9c

Modified:
/src/Enumerable.cs
/test/LINQBridge.Tests/EnumerableFixture.cs

=======================================
--- /src/Enumerable.cs Sat Apr 30 12:58:58 2011
+++ /src/Enumerable.cs Mon Apr 16 12:04:29 2012
@@ -1517,23 +1517,32 @@
CheckNotNull(second, "second");

var keys = new List<TSource>();
+ var nullFlag = false;
var flags = new Dictionary<TSource, bool>(comparer);

- foreach (var item in first.Where(k => !flags.ContainsKey(k)))
- {
- flags.Add(item, !flag);
+ foreach (var item in first.Where(k => k ==
null ? !nullFlag : !flags.ContainsKey(k)))
+ {
+ if (item == null)
+ nullFlag = !flag;
+ else
+ flags.Add(item, !flag);
keys.Add(item);
}

- foreach (var item in second.Where(flags.ContainsKey))
- flags[item] = flag;
+ foreach (var item in second.Where(k => k == null ? nullFlag :
flags.ContainsKey(k)))
+ {
+ if (item == null)
+ nullFlag = flag;
+ else
+ flags[item] = flag;
+ }

//
// As per docs, "the marked elements are yielded in the order
in
// which they were collected.
//

- return keys.Where(item => flags[item]);
+ return keys.Where(item => item == null ? nullFlag :
flags[item]);
}

/// <summary>
=======================================
--- /test/LINQBridge.Tests/EnumerableFixture.cs Mon Apr 16 10:59:34 2012
+++ /test/LINQBridge.Tests/EnumerableFixture.cs Mon Apr 16 12:04:29 2012
@@ -620,6 +620,14 @@
var second = Read("ALBERT");
first.Except(second,
StringComparer.CurrentCultureIgnoreCase).AssertEquals("john", "simon");
}
+
+ [Test(Description
= "http://code.google.com/p/linqbridge/issues/detail?id=24")]
+ public void Except_SourcesWithNull_ReturnsDifference()
+ {
+ var first = Read("abc", null);
+ var second = Read("bcd", null);
+ first.Except(second).AssertEquals("abc");
+ }

[Test]
[ExpectedException(typeof(InvalidOperationException))]
@@ -1048,6 +1056,14 @@
var result = first.Intersect(second,
StringComparer.CurrentCultureIgnoreCase);
result.AssertEquals("Heinrich", "Hubert");
}
+
+ [Test(Description
= "http://code.google.com/p/linqbridge/issues/detail?id=24")]
+ public void Intersect_SourcesWithNull_YieldsCommonSet()
+ {
+ var first = Read("abc", null);
+ var second = Read("bcd", null);
+ first.Intersect(second).AssertThat(Is.EqualTo, new string[] {
null });
+ }

[Test]
[ExpectedException(typeof(ArgumentNullException))]

Reply all
Reply to author
Forward
0 new messages