1- Imports NUnit.Framework
2- Imports Xtensive.Orm.Tests.ObjectModel.NorthwindDO
1+ Imports NUnit.Framework
2+ Imports Xtensive.Orm.Tests.ObjectModel.ChinookDO
33Imports Xtensive.Orm.Tests.ObjectModel
44
55Namespace Linq
66
7- Public Class DateTimeTest
8- Inherits NorthwindDOModelTest
7+ Public Class DateTimeTest
8+ Inherits ChinookDOModelTest
99
10- Public Shadows ReadOnly Property Orders As IOrderedQueryable( Of Order )
11- Get
12- Return Query.All( Of Order )().OrderBy(Function (c) c.Id )
13- End Get
14- End Property
10+ Public Shadows ReadOnly Property Invoices As IOrderedQueryable( Of Invoice )
11+ Get
12+ Return Query.All( Of Invoice )().OrderBy(Function (c) c.InvoiceId )
13+ End Get
14+ End Property
1515
16- <Test()>
17- <ExpectedException( GetType (QueryTranslationException))>
18- Public Sub DatePartNotSupported1Test()
19- Dim result = ( From order In Orders _
20- Where Microsoft.VisualBasic.DateAndTime.DatePart( "Day" , order.OrderDate) > 0 _
21- Select order) _
22- .ToList()
23- Dim expected = ( From order In Orders.ToList _
24- Where Microsoft.VisualBasic.DateAndTime.DatePart( "Day" , order.OrderDate) > 0 _
25- Select order) _
26- .ToList()
27- Assert.IsTrue(expected.SequenceEqual(result))
28- End Sub
16+ <Test()>
17+ Public Sub DatePartNotSupported1Test()
18+ Assert.Throws( Of QueryTranslationException)( Function () ( From invoice In Invoices
19+ Where Microsoft.VisualBasic.DateAndTime.DatePart( "Day" , invoice.InvoiceDate) > 0
20+ Select invoice) _
21+ .ToList())
22+ End Sub
2923
30- <Test()>
31- <ExpectedException( GetType (QueryTranslationException))>
32- Public Sub DatePartNotSupported2Test()
33- Dim result = ( From order In Orders _
34- Where Microsoft.VisualBasic.DateAndTime.DatePart(DateInterval.Day, order.OrderDate.Value) > 0 _
35- Select order) _
36- .ToList()
37- Dim expected = ( From order In Orders.ToList _
38- Where Microsoft.VisualBasic.DateAndTime.DatePart(DateInterval.Day, order.OrderDate.Value) > 0 _
39- Select order) _
40- .ToList()
41- Assert.IsTrue(expected.SequenceEqual(result))
42- End Sub
24+ <Test()>
25+ Public Sub DatePartNotSupported2Test()
26+ Assert.Throws( Of QueryTranslationException)( Function () ( From invoice In Invoices
27+ Where Microsoft.VisualBasic.DateAndTime.DatePart(DateInterval.Day, invoice.InvoiceDate) > 0
28+ Select invoice) _
29+ .ToList())
30+ End Sub
4331
44- <Test()>
45- Public Sub NowTest()
46- Dim result = ( From order In Orders _
47- Where Microsoft.VisualBasic.DateAndTime.Now > order.OrderDate.Value _
48- Select order) _
49- .ToList()
50- Dim expected = ( From order In Orders.ToList _
51- Where Microsoft.VisualBasic.DateAndTime.Now > order.OrderDate.Value _
52- Select order) _
53- .ToList()
54- Assert.IsTrue(expected.SequenceEqual(result))
55- End Sub
32+ <Test()>
33+ Public Sub NowTest()
34+ Dim result = ( From invoice In Invoices
35+ Where Microsoft.VisualBasic.DateAndTime.Now > invoice.InvoiceDate
36+ Select invoice) _
37+ .ToList()
38+ Dim expected = ( From invoice In Invoices.ToList
39+ Where Microsoft.VisualBasic.DateAndTime.Now > invoice.InvoiceDate
40+ Select invoice) _
41+ .ToList()
42+ Assert.That(expected.Count, [Is].GreaterThan( 0 ))
43+ Assert.That(expected.SequenceEqual(result), [Is].True)
44+ End Sub
5645
57- <Test()>
58- Public Sub YearTest()
59- Dim result = ( From order In Orders _
60- Where Microsoft.VisualBasic.DateAndTime.Year(order.OrderDate.Value) > 0 _
61- Select order) _
62- .ToList()
63- Dim expected = ( From order In Orders.ToList _
64- Where Microsoft.VisualBasic.DateAndTime.Year(order.OrderDate.Value) > 0 _
65- Select order) _
66- .ToList()
67- Assert.IsTrue(expected.SequenceEqual(result))
68- End Sub
46+ <Test()>
47+ Public Sub YearTest()
48+ Dim result = ( From invoice In Invoices
49+ Where Microsoft.VisualBasic.DateAndTime.Year(invoice.InvoiceDate) > 0
50+ Select invoice) _
51+ .ToList()
52+ Dim expected = ( From invoice In Invoices.ToList
53+ Where Microsoft.VisualBasic.DateAndTime.Year(invoice.InvoiceDate) > 0
54+ Select invoice) _
55+ .ToList()
56+ Assert.That(expected.Count, [Is].GreaterThan( 0 ))
57+ Assert.That(expected.SequenceEqual(result), [Is].True)
58+ End Sub
6959
70- <Test()>
71- Public Sub MonthTest()
72- Dim result = ( From order In Orders _
73- Where Microsoft.VisualBasic.DateAndTime.Month(order.OrderDate.Value) > 0 _
74- Select order) _
75- .ToList()
76- Dim expected = ( From order In Orders.ToList _
77- Where Microsoft.VisualBasic.DateAndTime.Month(order.OrderDate.Value) > 0 _
78- Select order) _
79- .ToList()
80- Assert.IsTrue(expected.SequenceEqual(result))
81- End Sub
60+ <Test()>
61+ Public Sub MonthTest()
62+ Dim result = ( From invoice In Invoices
63+ Where Microsoft.VisualBasic.DateAndTime.Month(invoice.InvoiceDate) > 0
64+ Select invoice) _
65+ .ToList()
66+ Dim expected = ( From invoice In Invoices.ToList
67+ Where Microsoft.VisualBasic.DateAndTime.Month(invoice.InvoiceDate) > 0
68+ Select invoice) _
69+ .ToList()
70+ Assert.That(expected.Count, [Is].GreaterThan( 0 ))
71+ Assert.That(expected.SequenceEqual(result), [Is].True)
72+ End Sub
8273
83- <Test()>
84- Public Sub DayTest()
85- Dim result = ( From order In Orders _
86- Where Microsoft.VisualBasic.DateAndTime.Day(order.OrderDate.Value) > 0 _
87- Select order) _
88- .ToList()
89- Dim expected = ( From order In Orders.ToList _
90- Where Microsoft.VisualBasic.DateAndTime.Day(order.OrderDate.Value) > 0 _
91- Select order) _
92- .ToList()
93- Assert.IsTrue(expected.SequenceEqual(result))
94- End Sub
74+ <Test()>
75+ Public Sub DayTest()
76+ Dim result = ( From invoice In Invoices
77+ Where Microsoft.VisualBasic.DateAndTime.Day(invoice.InvoiceDate) > 0
78+ Select invoice) _
79+ .ToList()
80+ Dim expected = ( From invoice In Invoices.ToList
81+ Where Microsoft.VisualBasic.DateAndTime.Day(invoice.InvoiceDate) > 0
82+ Select invoice) _
83+ .ToList()
84+ Assert.That(expected.Count, [Is].GreaterThan( 0 ))
85+ Assert.That(expected.SequenceEqual(result), [Is].True)
86+ End Sub
9587
96- <Test()>
97- Public Sub HourTest()
98- Dim result = ( From order In Orders _
99- Where Microsoft.VisualBasic.DateAndTime.Hour(order.OrderDate.Value) > 0 _
100- Select order) _
101- .ToList()
102- Dim expected = ( From order In Orders.ToList _
103- Where Microsoft.VisualBasic.DateAndTime.Hour(order.OrderDate.Value) > 0 _
104- Select order) _
105- .ToList()
106- Assert.IsTrue(expected.SequenceEqual(result))
107- End Sub
88+ <Test()>
89+ Public Sub HourTest()
90+ Dim result = ( From invoice In Invoices
91+ Where invoice.PaymentDate.HasValue AndAlso Microsoft.VisualBasic.DateAndTime.Hour(invoice.PaymentDate.Value) > 0
92+ Select invoice) _
93+ .ToList()
94+ Dim expected = ( From invoice In Invoices.ToList
95+ Where invoice.PaymentDate.HasValue AndAlso Microsoft.VisualBasic.DateAndTime.Hour(invoice.PaymentDate.Value) > 0
96+ Select invoice) _
97+ .ToList()
98+ Assert.That(expected.Count, [Is].GreaterThan( 0 ))
99+ Assert.That(expected.SequenceEqual(result), [Is].True)
100+ End Sub
108101
109- <Test()>
110- Public Sub MinuteTest()
111- Dim result = ( From order In Orders _
112- Where Microsoft.VisualBasic.DateAndTime.Minute(order.OrderDate.Value) > 0 _
113- Select order) _
114- .ToList()
115- Dim expected = ( From order In Orders.ToList _
116- Where Microsoft.VisualBasic.DateAndTime.Minute(order.OrderDate.Value) > 0 _
117- Select order) _
118- .ToList()
119- Assert.IsTrue(expected.SequenceEqual(result))
120- End Sub
102+ <Test()>
103+ Public Sub MinuteTest()
104+ Dim result = ( From invoice In Invoices
105+ Where invoice.PaymentDate.HasValue AndAlso Microsoft.VisualBasic.DateAndTime.Minute(invoice.PaymentDate.Value) > 0
106+ Select invoice) _
107+ .ToList()
108+ Dim expected = ( From invoice In Invoices.ToList
109+ Where invoice.PaymentDate.HasValue AndAlso Microsoft.VisualBasic.DateAndTime.Minute(invoice.PaymentDate.Value) > 0
110+ Select invoice) _
111+ .ToList()
112+ Assert.That(expected.Count, [Is].GreaterThan( 0 ))
113+ Assert.That(expected.SequenceEqual(result), [Is].True)
114+ End Sub
121115
122- <Test()>
123- Public Sub SecondTest()
124- Dim result = ( From order In Orders _
125- Where Microsoft.VisualBasic.DateAndTime.Second(order.OrderDate.Value) > 0 _
126- Select order) _
127- .ToList()
128- Dim expected = ( From order In Orders.ToList _
129- Where Microsoft.VisualBasic.DateAndTime.Second(order.OrderDate.Value) > 0 _
130- Select order) _
131- .ToList()
132- Assert.IsTrue(expected.SequenceEqual(result))
133- End Sub
116+ <Test()>
117+ <Ignore( "Dataset has no dates with seconds" )>
118+ Public Sub SecondTest()
119+ Dim result = ( From invoice In Invoices
120+ Where invoice.PaymentDate.HasValue AndAlso Microsoft.VisualBasic.DateAndTime.Second(invoice.PaymentDate.Value) > 0
121+ Select invoice) _
122+ .ToList()
123+ Dim expected = ( From invoice In Invoices.ToList
124+ Where invoice.PaymentDate.HasValue AndAlso Microsoft.VisualBasic.DateAndTime.Second(invoice.PaymentDate.Value) > 0
125+ Select invoice) _
126+ .ToList()
127+ Assert.That(expected.Count, [Is].GreaterThan( 0 ))
128+ Assert.That(expected.SequenceEqual(result), [Is].True)
129+ End Sub
134130
135- <Test()>
136- <ExpectedException( GetType (QueryTranslationException))>
137- Public Sub MonthNameNotSupported1Test()
138- Dim result = ( From order In Orders _
139- Where Microsoft.VisualBasic.DateAndTime.MonthName(order.OrderDate.Value.Month, True ) <> "test" _
140- Select order) _
141- .ToList()
142- Dim expected = ( From order In Orders.ToList _
143- Where Microsoft.VisualBasic.DateAndTime.MonthName(order.OrderDate.Value.Month, True ) <> "test" _
144- Select order) _
145- .ToList()
146- Assert.IsTrue(expected.SequenceEqual(result))
147- End Sub
131+ <Test()>
132+ Public Sub MonthNameNotSupported1Test()
133+ Assert.Throws( Of QueryTranslationException)( Function () ( From invoice In Invoices
134+ Where Microsoft.VisualBasic.DateAndTime.MonthName(invoice.InvoiceDate.Month, True ) <> "test"
135+ Select invoice) _
136+ .ToList())
137+ End Sub
148138
149- <Test()>
150- <ExpectedException( GetType (QueryTranslationException))>
151- Public Sub MonthNameNotSupported2Test()
152- Dim result = ( From order In Orders _
153- Where Microsoft.VisualBasic.DateAndTime.MonthName(order.OrderDate.Value.Month, False ) <> "test" _
154- Select order) _
155- .ToList()
156- Dim expected = ( From order In Orders.ToList _
157- Where Microsoft.VisualBasic.DateAndTime.MonthName(order.OrderDate.Value.Month, False ) <> "test" _
158- Select order) _
159- .ToList()
160- Assert.IsTrue(expected.SequenceEqual(result))
161- End Sub
139+ <Test()>
140+ Public Sub MonthNameNotSupported2Test()
141+ Assert.Throws( Of QueryTranslationException)( Function () ( From invoice In Invoices
142+ Where Microsoft.VisualBasic.DateAndTime.MonthName(invoice.InvoiceDate.Month, False ) <> "test"
143+ Select invoice) _
144+ .ToList())
145+ End Sub
162146
163- End Class
147+ End Class
164148End Namespace
0 commit comments