[re-linq] Integration Tests

15 views
Skip to first unread message
Message has been deleted

Michael Ketting

unread,
Sep 22, 2009, 7:40:57 AM9/22/09
to re-motion Developers
In the comments thread to Steve Strong's Linq to NHibernate progress
report post ( http://blogs.imeta.co.uk/sstrong/archive/2009/09/15/756.aspx),
Carlos Cubas asked about re-linq's compatibility with the expression
tree generated by VB.NET ( http://blogs.imeta.co.uk/sstrong/archive/2009/09/15/756.aspx#2797).

Fabian posted a quick reply here (
http://www.re-motion.org/blogs/mix/archive/2009/09/03/recent-changes-in-re-linq.aspx#79)
but in order to give our shiny new mailing list something to do, I'll
get into a bit more depth.

The gist of Fabian's response was that re-linq should be able to
handle any expression you can write with classic Linq in either C# or
VB.NET, or, you can also create your own expression trees using the
framework-supplied query methods (minus a few not yet supported ones,
such as Any).

Unfortunately, we haven't gotten around to actually verifying this by
writing tons of integration tests, so all we have right now is a
reasonable assumption bred from re-linq's expression tree parsing
design. But since re-motion (and thus re-linq) is an open source
project, anyone willing to send us patches with integration tests
would be welcome.

I've started a VB.NET project just for this purpose (
https://svn.re-motion.org/svn/Remotion/trunk/Remotion/Data/IntegrationTests.VB/).
There's also a corresponding place for C# integration tests (
https://svn.re-motion.org/svn/Remotion/trunk/Remotion/Data/UnitTests/Linq/IntegrationTests/LinqSamples101/Parsing/).
The C# side also contains the test domain. The tests are designed to
accept a Linq-query in the form of an Expression and the expected
string representation. The test infrastructure then passes the query
to our trusty QueryParser to get its string-representation. The rest
is a straightforward assertion of string-equality.

My idea was to start by implementing MS's 101 Linq Samples (
http://msdn.microsoft.com/en-us/bb688085.aspx) for both C# and VB.NET,
at least as far as they're applicable to query-parsing instead of
query-execution. Check out the first few tests, and if you're
interested in joining the bandwagon, help is very welcome.

Michael

(This is a repost, there was a problem with the first message. Sorry)
Reply all
Reply to author
Forward
0 new messages