forked from wasabii/OLinq
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIndexTests.cs
87 lines (67 loc) · 2.14 KB
/
IndexTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System.Collections.ObjectModel;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace OLinq.Tests
{
[TestClass]
public class IndexTests
{
static readonly char[] array = new[]
{
'a', 'b', 'c',
};
static readonly char[,] mdArray = new[,]
{
{ 'a', 'b', 'c' },
{ 'd', 'e', 'f' },
{ 'g', 'h', 'i' },
};
ObservableCollection<string> source;
[TestInitialize]
public void Setup()
{
source = new ObservableCollection<string>() { "a", "b", "c", "d" };
}
[TestMethod]
public void IndexTest()
{
var buffer = source.AsObservableQuery()
.Select(i => i[0])
.AsObservableQuery()
.ToObservableView()
.ToBuffer();
Assert.AreEqual(4, buffer.Count(), "Index does not have expected size.");
}
[TestMethod]
public void IndexArrayStaticTest()
{
var buffer = Enumerable.Range(0, 1).AsObservableQuery()
.Select(i => array[1])
.AsObservableQuery()
.ToObservableView()
.ToBuffer();
Assert.AreEqual(1, buffer.Count(), "Index does not have expected size.");
}
[TestMethod]
public void IndexArrayTest()
{
var a = array;
var buffer = Enumerable.Range(0, 1).AsObservableQuery()
.Select(i => a[1])
.AsObservableQuery()
.ToObservableView()
.ToBuffer();
Assert.AreEqual(1, buffer.Count(), "Index does not have expected size.");
}
public void MultidimensionalArrayIndexTest()
{
var a = mdArray;
var buffer = Enumerable.Range(0, 1).AsObservableQuery()
.Select(i => a[1, 1])
.AsObservableQuery()
.ToObservableView()
.ToBuffer();
Assert.AreEqual(1, buffer.Count(), "Index does not have expected size.");
}
}
}