1
+ using System . Linq . Expressions ;
1
2
using FluentAssertions ;
2
3
using ksqlDb . RestApi . Client . FluentAPI . Builders ;
4
+ using ksqlDB . RestApi . Client . KSql . Query ;
3
5
using ksqlDb . RestApi . Client . Metadata ;
4
6
using ksqlDb . RestApi . Client . Tests . Models ;
5
7
using NUnit . Framework ;
8
+ using Assert = Microsoft . VisualStudio . TestTools . UnitTesting . Assert ;
6
9
7
10
namespace ksqlDb . RestApi . Client . Tests . FluentAPI
8
11
{
@@ -95,9 +98,15 @@ public void AsStruct()
95
98
}
96
99
97
100
[ Test ]
98
- public void AsPseudoColumn ( )
101
+ public void AsPseudoColumn_IsValid ( )
99
102
{
100
103
//Arrange
104
+ Expression < Func < Record , long > > expression = c => c . RowTime ;
105
+ fieldMetadata = new ( )
106
+ {
107
+ MemberInfo = ( ( MemberExpression ) expression . Body ) . Member
108
+ } ;
109
+ builder = new ( fieldMetadata ) ;
101
110
102
111
//Act
103
112
var fieldTypeBuilder = builder . AsPseudoColumn ( ) ;
@@ -107,6 +116,25 @@ public void AsPseudoColumn()
107
116
fieldMetadata . IsPseudoColumn . Should ( ) . BeTrue ( ) ;
108
117
}
109
118
119
+ [ Test ]
120
+ public void AsPseudoColumn_IsNotValid ( )
121
+ {
122
+ //Arrange
123
+ Expression < Func < Tweet , double > > expression = c => c . Amount ;
124
+ fieldMetadata = new ( )
125
+ {
126
+ MemberInfo = ( ( MemberExpression ) expression . Body ) . Member
127
+ } ;
128
+ builder = new ( fieldMetadata ) ;
129
+
130
+ //Act
131
+ Assert . ThrowsException < InvalidOperationException > ( ( ) =>
132
+ {
133
+ //Act
134
+ builder . AsPseudoColumn ( ) ;
135
+ } ) ;
136
+ }
137
+
110
138
[ Test ]
111
139
public void HasColumnName ( )
112
140
{
0 commit comments