completed tests for in :)
This commit is contained in:
		
							parent
							
								
									d9547fd544
								
							
						
					
					
						commit
						74a68c70c1
					
				| @ -101,65 +101,7 @@ namespace PoweredSoft.DynamicLinq.Test | ||||
|         [TestMethod] | ||||
|         public void TestAutomaticNullChecking() | ||||
|         { | ||||
|             var authors = new List<Author>() | ||||
|             { | ||||
|                 new Author | ||||
|                 { | ||||
|                     Id = 1, | ||||
|                     FirstName = "David", | ||||
|                     LastName = "Lebee", | ||||
|                     Posts = new List<Post> | ||||
|                     { | ||||
|                         new Post | ||||
|                         { | ||||
|                             Id = 1, | ||||
|                             AuthorId = 1, | ||||
|                             Title = "Match", | ||||
|                             Content = "ABC", | ||||
|                             Comments = new List<Comment>() | ||||
|                             { | ||||
|                                 new Comment() | ||||
|                                 { | ||||
|                                     Id = 1, | ||||
|                                     DisplayName = "John Doe", | ||||
|                                     CommentText = "!@#$!@#!@#", | ||||
|                                     Email = "john.doe@me.com" | ||||
|                                 } | ||||
|                             } | ||||
|                         }, | ||||
|                         new Post | ||||
|                         { | ||||
|                             Id = 2, | ||||
|                             AuthorId = 1, | ||||
|                             Title = "Match", | ||||
|                             Content = "ABC" | ||||
|                         } | ||||
|                     } | ||||
|                 }, | ||||
|                 new Author | ||||
|                 { | ||||
|                     Id = 2, | ||||
|                     FirstName = "Chuck", | ||||
|                     LastName = "Norris", | ||||
|                     Posts = new List<Post> | ||||
|                     { | ||||
|                         new Post | ||||
|                         { | ||||
|                             Id = 3, | ||||
|                             AuthorId = 2, | ||||
|                             Title = "Match", | ||||
|                             Content = "ASD" | ||||
|                         }, | ||||
|                         new Post | ||||
|                         { | ||||
|                             Id = 4, | ||||
|                             AuthorId = 2, | ||||
|                             Title = "DontMatch", | ||||
|                             Content = "ASD" | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             }; | ||||
|             var authors = TestData.Authors; | ||||
| 
 | ||||
|             // the query. | ||||
|             var query = authors.AsQueryable(); | ||||
|  | ||||
| @ -3,6 +3,7 @@ using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using Microsoft.VisualStudio.TestTools.UnitTesting; | ||||
| using PoweredSoft.DynamicLinq; | ||||
| using PoweredSoft.DynamicLinq.Dal.Pocos; | ||||
| using PoweredSoft.DynamicLinq.Test.Helpers; | ||||
| 
 | ||||
| namespace PoweredSoft.DynamicLinq.Test | ||||
| @ -10,23 +11,13 @@ namespace PoweredSoft.DynamicLinq.Test | ||||
|     [TestClass] | ||||
|     public class InTests | ||||
|     { | ||||
|         internal List<MockPersonObject> Persons = new List<MockPersonObject> | ||||
|         { | ||||
|             new MockPersonObject { FirstName = "David", LastName = "Lebee", Age = 28 }, | ||||
|             new MockPersonObject { FirstName = "Michaela", LastName = "Vickar", Age = 27 }, | ||||
|             new MockPersonObject { FirstName = "John", LastName = "Doe", Age = 28 }, | ||||
|             new MockPersonObject { FirstName = "Chuck", LastName = "Norris", Age = 50 }, | ||||
|             new MockPersonObject { FirstName = "Michael", LastName = "Jackson", Age = 58 } | ||||
|         }; | ||||
| 
 | ||||
|         [TestMethod] | ||||
|         public void In() | ||||
|         { | ||||
|             IQueryable<MockPersonObject> a, b; | ||||
|             var ageGroup = new List<int>() { 28, 27, 50 }; | ||||
| 
 | ||||
|             a = Persons.AsQueryable().Query(t => t.In("Age", ageGroup)); | ||||
|             b = Persons.AsQueryable().Where(t => ageGroup.Contains(t.Age)); | ||||
|             a = TestData.Persons.AsQueryable().Query(t => t.In("Age", ageGroup)); | ||||
|             b = TestData.Persons.AsQueryable().Where(t => ageGroup.Contains(t.Age)); | ||||
|             QueryableAssert.AreEqual(a, b); | ||||
|         } | ||||
| 
 | ||||
| @ -35,8 +26,8 @@ namespace PoweredSoft.DynamicLinq.Test | ||||
|         { | ||||
|             IQueryable<MockPersonObject> a, b; | ||||
|             var ageGroup = new List<int>() { 50, 58 }; | ||||
|             a = Persons.AsQueryable().Query(t => t.NotIn("Age", ageGroup)); | ||||
|             b = Persons.AsQueryable().Where(t => !ageGroup.Contains(t.Age)); | ||||
|             a = TestData.Persons.AsQueryable().Query(t => t.NotIn("Age", ageGroup)); | ||||
|             b = TestData.Persons.AsQueryable().Where(t => !ageGroup.Contains(t.Age)); | ||||
|             QueryableAssert.AreEqual(a, b); | ||||
|         } | ||||
| 
 | ||||
| @ -45,8 +36,8 @@ namespace PoweredSoft.DynamicLinq.Test | ||||
|         { | ||||
|             IQueryable<MockPersonObject> a, b; | ||||
|             var group = new List<string>() { "David", "Michaela" }; | ||||
|             a = Persons.AsQueryable().Query(t => t.In("FirstName", group)); | ||||
|             b = Persons.AsQueryable().Where(t => group.Contains(t.FirstName)); | ||||
|             a = TestData.Persons.AsQueryable().Query(t => t.In("FirstName", group)); | ||||
|             b = TestData.Persons.AsQueryable().Where(t => group.Contains(t.FirstName)); | ||||
|             QueryableAssert.AreEqual(a, b); | ||||
|         } | ||||
| 
 | ||||
| @ -57,8 +48,26 @@ namespace PoweredSoft.DynamicLinq.Test | ||||
|             var ageGroup = new List<string>() { "28", "27", "50" }; | ||||
|             var ageGroupInt = ageGroup.Select(t => Convert.ToInt32(t)).ToList(); | ||||
| 
 | ||||
|             a = Persons.AsQueryable().Query(t => t.In("Age", ageGroup)); | ||||
|             b = Persons.AsQueryable().Where(t => ageGroupInt.Contains(t.Age)); | ||||
|             a = TestData.Persons.AsQueryable().Query(t => t.In("Age", ageGroup)); | ||||
|             b = TestData.Persons.AsQueryable().Where(t => ageGroupInt.Contains(t.Age)); | ||||
|             QueryableAssert.AreEqual(a, b); | ||||
|         } | ||||
| 
 | ||||
|         [TestMethod] | ||||
|         public void MixingInWithCollectionPaths() | ||||
|         { | ||||
|             var titles = new List<string>() { "Match" }; | ||||
|             var a = TestData.Authors.AsQueryable().Query(t => t.In("Posts.Title", titles)); | ||||
|             var b = TestData.Authors.AsQueryable().Where(t => t.Posts.Any(t2 => titles.Contains(t2.Title))); | ||||
|             QueryableAssert.AreEqual(a, b); | ||||
|         } | ||||
| 
 | ||||
|         [TestMethod] | ||||
|         public void MixingInComplexPaths() | ||||
|         { | ||||
|             var authorsFirstNames = new List<string>() { "David", "Pablo" }; | ||||
|             var a = TestData.Posts.AsQueryable().Query(t => t.In("Author.FirstName", authorsFirstNames)); | ||||
|             var b = TestData.Posts.AsQueryable().Where(t => authorsFirstNames.Contains(t.Author.FirstName)); | ||||
|             QueryableAssert.AreEqual(a, b); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @ -70,6 +70,7 @@ | ||||
|     <Compile Include="HelpersTests.cs" /> | ||||
|     <Compile Include="EntityFrameworkTests.cs" /> | ||||
|     <Compile Include="StringComparision.cs" /> | ||||
|     <Compile Include="TestData.cs" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <None Include="packages.config" /> | ||||
|  | ||||
| @ -10,14 +10,7 @@ namespace PoweredSoft.DynamicLinq.Test | ||||
|     [TestClass] | ||||
|     public class StringComparisionTests | ||||
|     { | ||||
|         internal List<MockPersonObject> Persons = new List<MockPersonObject> | ||||
|         { | ||||
|             new MockPersonObject { FirstName = "David", LastName = "Lebee", Age = 28 }, | ||||
|             new MockPersonObject { FirstName = "Michaela", LastName = "Vickar", Age = 27 }, | ||||
|             new MockPersonObject { FirstName = "John", LastName = "Doe", Age = 28 }, | ||||
|             new MockPersonObject { FirstName = "Chuck", LastName = "Norris", Age = 50 }, | ||||
|             new MockPersonObject { FirstName = "Michael", LastName = "Jackson", Age = 58 } | ||||
|         }; | ||||
|         internal List<MockPersonObject> Persons => TestData.Persons; | ||||
| 
 | ||||
|         [TestMethod] | ||||
|         public void Equal() | ||||
|  | ||||
							
								
								
									
										127
									
								
								PoweredSoft.DynamicLinq.Test/TestData.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								PoweredSoft.DynamicLinq.Test/TestData.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,127 @@ | ||||
| using PoweredSoft.DynamicLinq.Dal.Pocos; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Threading.Tasks; | ||||
| 
 | ||||
| namespace PoweredSoft.DynamicLinq.Test | ||||
| { | ||||
|     internal static class TestData | ||||
|     { | ||||
|         static readonly internal List<MockPersonObject> Persons = new List<MockPersonObject> | ||||
|         { | ||||
|             new MockPersonObject { FirstName = "David", LastName = "Lebee", Age = 28 }, | ||||
|             new MockPersonObject { FirstName = "Michaela", LastName = "Vickar", Age = 27 }, | ||||
|             new MockPersonObject { FirstName = "John", LastName = "Doe", Age = 28 }, | ||||
|             new MockPersonObject { FirstName = "Chuck", LastName = "Norris", Age = 50 }, | ||||
|             new MockPersonObject { FirstName = "Michael", LastName = "Jackson", Age = 58 } | ||||
|         }; | ||||
| 
 | ||||
|         static readonly internal List<Post> Posts = new List<Post>() | ||||
|         { | ||||
|             new Post | ||||
|             { | ||||
|                 Id = 1, | ||||
|                 Author = new Author() | ||||
|                 { | ||||
|                     Id = 1, | ||||
|                     FirstName = "David", | ||||
|                     LastName = "Lebee" | ||||
|                 }, | ||||
|                 AuthorId = 1, | ||||
|                 CreateTime = DateTime.Now, | ||||
|                 Title = "Match", | ||||
|                 Content = "ABC", | ||||
|             }, | ||||
|             new Post | ||||
|             { | ||||
|                 Id = 2, | ||||
|                 Author = new Author() | ||||
|                 { | ||||
|                     Id = 1, | ||||
|                     FirstName = "David", | ||||
|                     LastName = "Lebee" | ||||
|                 }, | ||||
|                 AuthorId = 1, | ||||
|                 CreateTime = DateTime.Now, | ||||
|                 Title = "Match 2", | ||||
|                 Content = "ABC 2", | ||||
|             }, | ||||
|             new Post | ||||
|             { | ||||
|                 Id = 3, | ||||
|                 Author = new Author() | ||||
|                 { | ||||
|                     Id = 2, | ||||
|                     FirstName = "John", | ||||
|                     LastName = "Doe" | ||||
|                 }, | ||||
|                 AuthorId = 3, | ||||
|                 CreateTime = DateTime.Now, | ||||
|                 Title = "Match 3", | ||||
|                 Content = "ABC 3", | ||||
|             }, | ||||
|         }; | ||||
| 
 | ||||
|         static readonly internal List<Author> Authors = new List<Author>() | ||||
|         { | ||||
|             new Author | ||||
|             { | ||||
|                 Id = 1, | ||||
|                 FirstName = "David", | ||||
|                 LastName = "Lebee", | ||||
|                 Posts = new List<Post> | ||||
|                 { | ||||
|                     new Post | ||||
|                     { | ||||
|                         Id = 1, | ||||
|                         AuthorId = 1, | ||||
|                         Title = "Match", | ||||
|                         Content = "ABC", | ||||
|                         Comments = new List<Comment>() | ||||
|                         { | ||||
|                             new Comment() | ||||
|                             { | ||||
|                                 Id = 1, | ||||
|                                 DisplayName = "John Doe", | ||||
|                                 CommentText = "!@#$!@#!@#", | ||||
|                                 Email = "john.doe@me.com" | ||||
|                             } | ||||
|                         } | ||||
|                     }, | ||||
|                     new Post | ||||
|                     { | ||||
|                         Id = 2, | ||||
|                         AuthorId = 1, | ||||
|                         Title = "Match", | ||||
|                         Content = "ABC" | ||||
|                     } | ||||
|                 } | ||||
|             }, | ||||
|             new Author | ||||
|             { | ||||
|                 Id = 2, | ||||
|                 FirstName = "Chuck", | ||||
|                 LastName = "Norris", | ||||
|                 Posts = new List<Post> | ||||
|                 { | ||||
|                     new Post | ||||
|                     { | ||||
|                         Id = 3, | ||||
|                         AuthorId = 2, | ||||
|                         Title = "Match", | ||||
|                         Content = "ASD" | ||||
|                     }, | ||||
|                     new Post | ||||
|                     { | ||||
|                         Id = 4, | ||||
|                         AuthorId = 2, | ||||
|                         Title = "DontMatch", | ||||
|                         Content = "ASD" | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         }; | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user