Skip to content

Commit 53ebc30

Browse files
committed
Add optional query expression cleanup. Write saner expressions by collapsing boolean operators
1 parent 73118b8 commit 53ebc30

95 files changed

Lines changed: 1873 additions & 1942 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,6 @@ dotnet_diagnostic.IDE0061.severity = none
9898

9999
# IDE0090: Use 'new(...)'
100100
dotnet_diagnostic.IDE0090.severity = silent
101+
102+
# IDE0023: Use block body for conversion operator
103+
dotnet_diagnostic.IDE0023.severity = none

.github/workflows/build.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,16 @@ jobs:
8383
- name: restore
8484
run: dotnet restore
8585

86+
- name: Set version variables
87+
id: version
88+
run: |
89+
COMMIT_DATE=$(git log -1 --format='%ai' | cut -d' ' -f1)
90+
DATE=$(echo $COMMIT_DATE | awk -F'-' '{print $1"."$2$3}')
91+
BUILD_NUM=$(printf "%d" $(( ${{ github.run_number }} % 60000 )))
92+
echo "version=1.${DATE}.${BUILD_NUM}" >> $GITHUB_OUTPUT
93+
8694
- name: build
87-
run: dotnet build -c Release --no-restore
95+
run: dotnet build -c Release -p:Version="${{ steps.version.outputs.version }}" -p:PackagePrefix=AmpScm. --no-restore
8896

8997
- name: Run tests for .NET 10.0 with coverage
9098
run: |
@@ -96,13 +104,6 @@ jobs:
96104
dotnet test -c Release -f net10.0 --no-build \
97105
--report-github --report-github-summary-include-passed=false
98106
99-
- name: Set version variables
100-
id: version
101-
run: |
102-
DATE=$(date +'%Y.%02m%02d')
103-
BUILD_NUM=$(printf "%d" $(( ${{ github.run_number }} % 60000 )))
104-
echo "version=1.${DATE}.${BUILD_NUM}" >> $GITHUB_OUTPUT
105-
106107
- name: Pack packages
107108
run: dotnet pack -c Release -p:Version="${{ steps.version.outputs.version }}" -p:PackagePrefix=AmpScm. -o release
108109

src/RepoDb.Core.UnitTests/BaseRepositoryDisposalTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using RepoDb.Enumerations;
22
using RepoDb.UnitTests.CustomObjects;
33

4-
namespace RepoDb.Core.UnitTests;
4+
namespace RepoDb.UnitTests;
55

66
[TestClass]
77
public class BaseRepositoryDisposalTest

src/RepoDb.Core.UnitTests/DbRepositoryDisposalTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using RepoDb.Enumerations;
22
using RepoDb.UnitTests.CustomObjects;
33

4-
namespace RepoDb.Core.UnitTests;
4+
namespace RepoDb.UnitTests;
55

66
[TestClass]
77
public class DbRepositoryDisposalTest

src/RepoDb.Core.UnitTests/DbSessionDisposalTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System.Data.Common;
22
using RepoDb.UnitTests.CustomObjects;
33

4-
namespace RepoDb.Core.UnitTests;
4+
namespace RepoDb.UnitTests;
55

66
[TestClass]
77
public class DbSessionDisposalTest

src/RepoDb.Core.UnitTests/Equalities/QueryGroupEqualityTest.cs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,10 @@ public void TestQueryGroupHashCodeEqualityForExpressions()
120120
[TestMethod]
121121
public void TestQueryGroupHashCodeEqualityForCollidedExpressions()
122122
{
123-
// Prepare
124123
var objA = QueryGroup.Parse<EntityClass>(c => c.Id == 1 && c.Value != 1);
125124
var objB = QueryGroup.Parse<EntityClass>(c => c.Id != 1 && c.Value == 1);
126125

127-
// Act
128-
var equal = objA.GetHashCode() == objB.GetHashCode();
129-
130-
// Assert
131-
Assert.IsFalse(equal);
126+
Assert.AreNotEqual(objA.GetHashCode(), objB.GetHashCode());
132127
Assert.HasCount(objA.QueryFields.Count, objB.QueryFields);
133128
}
134129

@@ -139,14 +134,12 @@ public void TestQueryGroupHashCodeEqualityForCollidedExpressions2()
139134
var objA = QueryGroup.Parse<EntityClass>(c => c.Id == 1 && !(c.Value != 1));
140135
var objB = QueryGroup.Parse<EntityClass>(c => c.Id != 1 && c.Value == 1);
141136

142-
// Act
143-
var equal = objA.GetHashCode() == objB.GetHashCode();
144-
145137
// Assert
146-
Assert.IsFalse(equal);
138+
Assert.AreNotEqual(objA.GetHashCode(), objB.GetHashCode());
139+
147140
//Assert.AreEqual(objA.QueryGroups?.Count, objB.QueryGroups?.Count);
148141

149-
Assert.AreEqual("(([Id] = @Id) AND NOT (([Value] <> @Value)))", objA.GetString(_dbSetting));
142+
Assert.AreEqual("([Id] = @Id AND [Value] = @Value)", objA.GetString(_dbSetting));
150143
Assert.AreEqual("([Id] <> @Id AND [Value] = @Value)", objB.GetString(_dbSetting));
151144
}
152145

src/RepoDb.Core.UnitTests/Extensions/ListExtensionTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using RepoDb.Extensions;
22

3-
namespace RepoDb.Core.UnitTests;
3+
namespace RepoDb.UnitTests;
44

55
[TestClass]
66
public class ListExtensionTest

src/RepoDb.Core.UnitTests/Extensions/StringExtensionTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using RepoDb.Extensions;
22
using RepoDb.UnitTests.CustomObjects;
33

4-
namespace RepoDb.Core.UnitTests;
4+
namespace RepoDb.UnitTests;
55

66
[TestClass]
77
public class StringExtensionTest

src/RepoDb.Core.UnitTests/Interfaces/IStatementBuilderForDbConnectionTest.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Moq;
2-
using RepoDb.Context.Caches;
3-
using RepoDb.Contexts.Caches;
2+
using RepoDb.Contexts;
43
using RepoDb.Enumerations;
54
using RepoDb.Interfaces;
65
using RepoDb.UnitTests.CustomObjects;

src/RepoDb.Core.UnitTests/Others/ToTypeTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace RepoDb.Core.UnitTests.Others;
1+
namespace RepoDb.UnitTests.Others;
22

33
[TestClass]
44
public class ToTypeTests

0 commit comments

Comments
 (0)