@@ -25,8 +25,7 @@ public class IdentifierUtilTests
25
25
[ TestCase ( SystemColumns . ROWTIME , IdentifierEscaping . Always , ExpectedResult = $ "`{ SystemColumns . ROWTIME } `") ]
26
26
[ TestCase ( SystemColumns . ROWOFFSET , IdentifierEscaping . Keywords , ExpectedResult = $ "`{ SystemColumns . ROWOFFSET } `") ]
27
27
[ 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 } `") ]
30
29
[ TestCase ( SystemColumns . ROWPARTITION , IdentifierEscaping . Always , ExpectedResult = $ "`{ SystemColumns . ROWPARTITION } `") ]
31
30
[ TestCase ( SystemColumns . WINDOWSTART , IdentifierEscaping . Keywords , ExpectedResult = $ "`{ SystemColumns . WINDOWSTART } `") ]
32
31
[ TestCase ( SystemColumns . WINDOWSTART , IdentifierEscaping . Always , ExpectedResult = $ "`{ SystemColumns . WINDOWSTART } `") ]
@@ -67,6 +66,21 @@ public void Format_MemberExpression_AsPseudoColumn(IdentifierEscaping escaping)
67
66
formattedIdentifier . Should ( ) . Be ( nameof ( Record . RowTime ) ) ;
68
67
}
69
68
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
+
70
84
[ TestCase ( IdentifierEscaping . Keywords ) ]
71
85
[ TestCase ( IdentifierEscaping . Always ) ]
72
86
public void Format_MemberInfo_AsPseudoColumn ( IdentifierEscaping escaping )
@@ -85,5 +99,20 @@ public void Format_MemberInfo_AsPseudoColumn(IdentifierEscaping escaping)
85
99
//Assert
86
100
formattedIdentifier . Should ( ) . Be ( nameof ( Record . RowTime ) ) ;
87
101
}
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
+ }
88
117
}
89
118
}
0 commit comments