From a6db6c66d307a0276117c9ed63acefc72f8ca299 Mon Sep 17 00:00:00 2001 From: Florian Decker Date: Wed, 21 Oct 2015 13:44:57 +0200 Subject: [PATCH] add IntoEquivalent Integration Test --- .../IntegrationTests.CSharp.csproj | 3 + .../SystemTests/MultiFromTests.cs | 14 ++++ ...tiFromTests.QueryWithIntoEquivalent.result | 74 +++++++++++++++++++ .../IntegrationTests.VisualBasic.vbproj | 3 + .../SystemTests/MultiFromTests.vb | 19 ++--- ...tiFromTests.QueryWithIntoEquivalent.result | 74 +++++++++++++++++++ 6 files changed, 178 insertions(+), 9 deletions(-) create mode 100644 IntegrationTests.CSharp/SystemTests/Resources/MultiFromTests.QueryWithIntoEquivalent.result create mode 100644 IntegrationTests.VisualBasic/SystemTests/Resources/SystemTests.Resources.MultiFromTests.QueryWithIntoEquivalent.result diff --git a/IntegrationTests.CSharp/IntegrationTests.CSharp.csproj b/IntegrationTests.CSharp/IntegrationTests.CSharp.csproj index 44ea4cc3f..ec9acbe3e 100644 --- a/IntegrationTests.CSharp/IntegrationTests.CSharp.csproj +++ b/IntegrationTests.CSharp/IntegrationTests.CSharp.csproj @@ -769,6 +769,9 @@ PreserveNewest + + PreserveNewest + diff --git a/IntegrationTests.CSharp/SystemTests/MultiFromTests.cs b/IntegrationTests.CSharp/SystemTests/MultiFromTests.cs index 7f4685e41..f142bc841 100644 --- a/IntegrationTests.CSharp/SystemTests/MultiFromTests.cs +++ b/IntegrationTests.CSharp/SystemTests/MultiFromTests.cs @@ -57,6 +57,20 @@ from od in o.OrderDetails } [Test] + public void QueryWithIntoEquivalent () + { + var query = + from o in ( + from c in DB.Customers + where c.CustomerID == "ALFKI" + select c.Orders) + from oi in o + from s in oi.OrderDetails + select s; + TestExecutor.Execute (query, MethodBase.GetCurrentMethod()); + } + + [Test] public void Query_WithSeveralFroms () { var query = diff --git a/IntegrationTests.CSharp/SystemTests/Resources/MultiFromTests.QueryWithIntoEquivalent.result b/IntegrationTests.CSharp/SystemTests/Resources/MultiFromTests.QueryWithIntoEquivalent.result new file mode 100644 index 000000000..a750e3fed --- /dev/null +++ b/IntegrationTests.CSharp/SystemTests/Resources/MultiFromTests.QueryWithIntoEquivalent.result @@ -0,0 +1,74 @@ +Enumerable { + OrderDetail + Discount: 0.25 + OrderID: 10643 + ProductID: 28 + Quantity: 15 + UnitPrice: 45.6000 + OrderDetail + Discount: 0.25 + OrderID: 10643 + ProductID: 39 + Quantity: 21 + UnitPrice: 18.0000 + OrderDetail + Discount: 0.25 + OrderID: 10643 + ProductID: 46 + Quantity: 2 + UnitPrice: 12.0000 + OrderDetail + Discount: 0 + OrderID: 10692 + ProductID: 63 + Quantity: 20 + UnitPrice: 43.9000 + OrderDetail + Discount: 0 + OrderID: 10702 + ProductID: 3 + Quantity: 6 + UnitPrice: 10.0000 + OrderDetail + Discount: 0 + OrderID: 10702 + ProductID: 76 + Quantity: 15 + UnitPrice: 18.0000 + OrderDetail + Discount: 0 + OrderID: 10835 + ProductID: 59 + Quantity: 15 + UnitPrice: 55.0000 + OrderDetail + Discount: 0.2 + OrderID: 10835 + ProductID: 77 + Quantity: 2 + UnitPrice: 13.0000 + OrderDetail + Discount: 0.05 + OrderID: 10952 + ProductID: 6 + Quantity: 16 + UnitPrice: 25.0000 + OrderDetail + Discount: 0 + OrderID: 10952 + ProductID: 28 + Quantity: 2 + UnitPrice: 45.6000 + OrderDetail + Discount: 0.05 + OrderID: 11011 + ProductID: 58 + Quantity: 40 + UnitPrice: 13.2500 + OrderDetail + Discount: 0 + OrderID: 11011 + ProductID: 71 + Quantity: 20 + UnitPrice: 21.5000 +} diff --git a/IntegrationTests.VisualBasic/IntegrationTests.VisualBasic.vbproj b/IntegrationTests.VisualBasic/IntegrationTests.VisualBasic.vbproj index 202d2e083..2ca882a5e 100644 --- a/IntegrationTests.VisualBasic/IntegrationTests.VisualBasic.vbproj +++ b/IntegrationTests.VisualBasic/IntegrationTests.VisualBasic.vbproj @@ -696,6 +696,9 @@ PreserveNewest + + PreserveNewest + diff --git a/IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb b/IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb index c9378c939..7d946819d 100644 --- a/IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb +++ b/IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb @@ -39,16 +39,17 @@ Namespace SystemTests Public Class MultiFromTests Inherits TestBase _ - Public Sub QueryWithInto() - 'Dim query = From c In DB.Customers _ - ' Where c.CustomerID = "ALFKI" _ - ' Select c.Orders _ - ' Into x _ - ' From o In x _ - ' From od In o.OrderDetails _ - ' Select od + Public Sub QueryWithIntoEquivalent() + Dim query = + From o In ( + From c In DB.Customers + Where c.CustomerID = "ALFKI" + Select c.Orders) + From oi In o + From s In oi.OrderDetails + Select s - 'TestExecutor.Execute(query, MethodBase.GetCurrentMethod()) + TestExecutor.Execute(query, MethodBase.GetCurrentMethod()) End Sub _ diff --git a/IntegrationTests.VisualBasic/SystemTests/Resources/SystemTests.Resources.MultiFromTests.QueryWithIntoEquivalent.result b/IntegrationTests.VisualBasic/SystemTests/Resources/SystemTests.Resources.MultiFromTests.QueryWithIntoEquivalent.result new file mode 100644 index 000000000..a750e3fed --- /dev/null +++ b/IntegrationTests.VisualBasic/SystemTests/Resources/SystemTests.Resources.MultiFromTests.QueryWithIntoEquivalent.result @@ -0,0 +1,74 @@ +Enumerable { + OrderDetail + Discount: 0.25 + OrderID: 10643 + ProductID: 28 + Quantity: 15 + UnitPrice: 45.6000 + OrderDetail + Discount: 0.25 + OrderID: 10643 + ProductID: 39 + Quantity: 21 + UnitPrice: 18.0000 + OrderDetail + Discount: 0.25 + OrderID: 10643 + ProductID: 46 + Quantity: 2 + UnitPrice: 12.0000 + OrderDetail + Discount: 0 + OrderID: 10692 + ProductID: 63 + Quantity: 20 + UnitPrice: 43.9000 + OrderDetail + Discount: 0 + OrderID: 10702 + ProductID: 3 + Quantity: 6 + UnitPrice: 10.0000 + OrderDetail + Discount: 0 + OrderID: 10702 + ProductID: 76 + Quantity: 15 + UnitPrice: 18.0000 + OrderDetail + Discount: 0 + OrderID: 10835 + ProductID: 59 + Quantity: 15 + UnitPrice: 55.0000 + OrderDetail + Discount: 0.2 + OrderID: 10835 + ProductID: 77 + Quantity: 2 + UnitPrice: 13.0000 + OrderDetail + Discount: 0.05 + OrderID: 10952 + ProductID: 6 + Quantity: 16 + UnitPrice: 25.0000 + OrderDetail + Discount: 0 + OrderID: 10952 + ProductID: 28 + Quantity: 2 + UnitPrice: 45.6000 + OrderDetail + Discount: 0.05 + OrderID: 11011 + ProductID: 58 + Quantity: 40 + UnitPrice: 13.2500 + OrderDetail + Discount: 0 + OrderID: 11011 + ProductID: 71 + Quantity: 20 + UnitPrice: 21.5000 +}