| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using Masuit.Tools.Mapping;
- using Masuit.Tools.Mapping.Extensions;
- using Masuit.Tools.UnitTest.Mapping.ClassTests;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using System;
- using System.Linq;
- using System.Linq.Expressions;
- namespace Masuit.Tools.UnitTest.Mapping.Extentions
- {
- [TestClass]
- public class QueryableExtentionsTest
- {
- [ClassInitialize]
- public static void Init(TestContext context)
- {
- Clean();
- ExpressionMapper.CreateMap<ClassSource, ClassDest>().ForMember(s => s.PropString1, d => d.PropString2).ReverseMap();
- ExpressionMapper.Initialize();
- }
- [ClassCleanup]
- public static void Clean()
- {
- ExpressionMapper.Reset();
- }
- [TestMethod, TestCategory("Extentions")]
- public void OrderBy_Success()
- {
- Init(null);
- QueryableImplTest<ClassSource> expected = new QueryableImplTest<ClassSource>();
- IQueryable<ClassSource> actual = expected.OrderBy<ClassSource, ClassDest>("PropInt1");
- Assert.IsTrue(CheckExpressionMethod(actual.Expression, nameof(QueryableExtentions.OrderBy)));
- }
- [TestMethod, TestCategory("Extentions")]
- public void OrderByDescending_Success()
- {
- QueryableImplTest<ClassSource> expected = new QueryableImplTest<ClassSource>();
- IQueryable<ClassSource> actual = expected.OrderByDescending<ClassSource, ClassDest>("PropInt1");
- Assert.IsTrue(CheckExpressionMethod(actual.Expression, nameof(QueryableExtentions.OrderByDescending)));
- }
- [TestMethod, TestCategory("Extentions")]
- public void ThenBy_Success()
- {
- ExpressionMapper.CreateMap<ClassSource, ClassDest>().ForMember(s => s.PropString1, d => d.PropString2);
- ExpressionMapper.Initialize();
- QueryableImplTest<ClassSource> expected = new QueryableImplTest<ClassSource>();
- IQueryable<ClassSource> actual = expected.OrderByDescending<ClassSource, ClassDest>("PropInt1").ThenBy<ClassSource, ClassDest>("PropInt1");
- Assert.IsTrue(CheckExpressionMethod(actual.Expression, nameof(QueryableExtentions.ThenBy)));
- }
- [TestMethod, TestCategory("Extentions")]
- public void ThenByDescending_Success()
- {
- Init(null);
- QueryableImplTest<ClassSource> expected = new QueryableImplTest<ClassSource>();
- IQueryable<ClassSource> actual = expected.OrderByDescending<ClassSource, ClassDest>("PropInt1").ThenByDescending<ClassSource, ClassDest>("PropInt1");
- Assert.IsTrue(CheckExpressionMethod(actual.Expression, nameof(QueryableExtentions.ThenByDescending)));
- }
- private bool CheckExpressionMethod(Expression expression, string methodeName)
- {
- if (expression.NodeType == ExpressionType.Call)
- {
- return (expression as MethodCallExpression).Method.Name == methodeName;
- }
- return false;
- }
- }
- }
|