Skip to content

Commit 0f8d9f5

Browse files
committed
[ksqlDB.RestApi.Client]: added IdentifierUtil pseudocolumn unit tests #96
1 parent 3d222bf commit 0f8d9f5

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

Tests/ksqlDB.RestApi.Client.Tests/KSql/RestApi/Parsers/IdentifierUtilTests.cs

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ public class IdentifierUtilTests
2525
[TestCase(SystemColumns.ROWTIME, IdentifierEscaping.Always, ExpectedResult = $"`{SystemColumns.ROWTIME}`")]
2626
[TestCase(SystemColumns.ROWOFFSET, IdentifierEscaping.Keywords, ExpectedResult = $"`{SystemColumns.ROWOFFSET}`")]
2727
[TestCase(SystemColumns.ROWOFFSET, IdentifierEscaping.Always, ExpectedResult = $"`{SystemColumns.ROWOFFSET}`")]
28-
[TestCase(SystemColumns.ROWPARTITION, IdentifierEscaping.Keywords,
29-
ExpectedResult = $"`{SystemColumns.ROWPARTITION}`")]
28+
[TestCase(SystemColumns.ROWPARTITION, IdentifierEscaping.Keywords, ExpectedResult = $"`{SystemColumns.ROWPARTITION}`")]
3029
[TestCase(SystemColumns.ROWPARTITION, IdentifierEscaping.Always, ExpectedResult = $"`{SystemColumns.ROWPARTITION}`")]
3130
[TestCase(SystemColumns.WINDOWSTART, IdentifierEscaping.Keywords, ExpectedResult = $"`{SystemColumns.WINDOWSTART}`")]
3231
[TestCase(SystemColumns.WINDOWSTART, IdentifierEscaping.Always, ExpectedResult = $"`{SystemColumns.WINDOWSTART}`")]
@@ -67,6 +66,21 @@ public void Format_MemberExpression_AsPseudoColumn(IdentifierEscaping escaping)
6766
formattedIdentifier.Should().Be(nameof(Record.RowTime));
6867
}
6968

69+
[TestCase(IdentifierEscaping.Keywords)]
70+
[TestCase(IdentifierEscaping.Always)]
71+
public void Format_MemberExpression_PseudoColumnAttribute(IdentifierEscaping escaping)
72+
{
73+
//Arrange
74+
Expression<Func<ksqlDB.RestApi.Client.KSql.Query.Record, short?>> expression = c => c.RowPartition;
75+
var memberExpression = (MemberExpression)expression.Body;
76+
77+
//Act
78+
var formattedIdentifier = IdentifierUtil.Format(memberExpression, escaping, builder);
79+
80+
//Assert
81+
formattedIdentifier.Should().Be(nameof(ksqlDB.RestApi.Client.KSql.Query.Record.RowPartition));
82+
}
83+
7084
[TestCase(IdentifierEscaping.Keywords)]
7185
[TestCase(IdentifierEscaping.Always)]
7286
public void Format_MemberInfo_AsPseudoColumn(IdentifierEscaping escaping)
@@ -85,5 +99,20 @@ public void Format_MemberInfo_AsPseudoColumn(IdentifierEscaping escaping)
8599
//Assert
86100
formattedIdentifier.Should().Be(nameof(Record.RowTime));
87101
}
102+
103+
[TestCase(IdentifierEscaping.Keywords)]
104+
[TestCase(IdentifierEscaping.Always)]
105+
public void Format_MemberInfo_AsPseudoColumnAttribute(IdentifierEscaping escaping)
106+
{
107+
//Arrange
108+
Expression<Func<ksqlDB.RestApi.Client.KSql.Query.Record, long?>> expression = c => c.RowOffset;
109+
var memberInfo = ((MemberExpression)expression.Body).Member;
110+
111+
//Act
112+
var formattedIdentifier = IdentifierUtil.Format(memberInfo, escaping, builder);
113+
114+
//Assert
115+
formattedIdentifier.Should().Be(nameof(ksqlDB.RestApi.Client.KSql.Query.Record.RowOffset));
116+
}
88117
}
89118
}

0 commit comments

Comments
 (0)