Give tests access to internal implementations for Connected.Data

develop
Matija Koželj 2 years ago
parent 08e5857fc8
commit e35dc32284

@ -1,4 +1,5 @@
using Connected.Annotations; using System.Runtime.CompilerServices;
using Connected.Annotations;
using Connected.Data.DataProtection; using Connected.Data.DataProtection;
using Connected.Data.Schema; using Connected.Data.Schema;
using Connected.Data.Sharding; using Connected.Data.Sharding;
@ -7,6 +8,7 @@ using Connected.Entities.Storage;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
[assembly: MicroService(MicroServiceType.Sys)] [assembly: MicroService(MicroServiceType.Sys)]
[assembly: InternalsVisibleTo("Connected.Data.Tests")]
namespace Connected.Data; namespace Connected.Data;

@ -3,6 +3,7 @@ using Connected.Expressions.Formatters;
using Connected.Expressions.Translation; using Connected.Expressions.Translation;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Runtime.ExceptionServices;
namespace Connected.Expressions; namespace Connected.Expressions;
@ -43,4 +44,26 @@ public sealed class SelectExpression : AliasedExpression
public Expression? Take { get; } public Expression? Take { get; }
public bool IsReverse { get; } public bool IsReverse { get; }
public string QueryText => SqlFormatter.Format(this); public string QueryText => SqlFormatter.Format(this);
public override int GetHashCode()
{
return HashCode.Combine(HashCode.Combine(Alias, Columns, From, Where, OrderBy), GroupBy, IsDistinct, Skip, Take, IsReverse);
}
public override bool Equals(object? obj)
{
if (obj is not SelectExpression second)
return false;
return Alias.Equals(second.Alias)
&& Columns.Equals(second.Columns)
&& From.Equals(second.From)
&& Where == second.Where
&& OrderBy == second.OrderBy
&& GroupBy == second.GroupBy
&& IsDistinct == second.IsDistinct
&& Skip == second.Skip
&& Take == second.Take
&& IsReverse == second.IsReverse;
}
} }
Loading…
Cancel
Save