Skip to content

Commit 1a34fe9

Browse files
committed
Added a new test for query filters
1 parent adc3ff0 commit 1a34fe9

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

CoreHelpers.WindowsAzure.Storage.Table.Tests/ITS019QueryFilter.cs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,58 @@ public async Task VerifyQueryfilter()
8181
await storageContext.DropTableAsync<DemoEntityQuery>();
8282
}
8383
}
84+
85+
[Fact]
86+
public async Task VerifyQueryfilterBoolOnly()
87+
{
88+
// Import from Blob
89+
using (var storageContext = new StorageContext(env.ConnectionString))
90+
{
91+
// set the tablename context
92+
storageContext.SetTableContext();
93+
94+
// create the model
95+
var models = new List<DemoEntityQuery>()
96+
{
97+
new DemoEntityQuery() {R = "E6", StringField = "Demo03"},
98+
new DemoEntityQuery() {R = "E7", StringField = "Demo03", BoolField = true},
99+
new DemoEntityQuery() {R = "E8", StringField = "Demo03", BoolField = false}
100+
};
101+
102+
// ensure we are using the attributes
103+
storageContext.AddAttributeMapper(typeof(DemoEntityQuery));
104+
105+
// inser the model
106+
await storageContext.EnableAutoCreateTable().MergeOrInsertAsync<DemoEntityQuery>(models);
107+
108+
// build the basic filter
109+
var filterItem = new QueryFilter()
110+
{
111+
FilterType = QueryFilterType.And,
112+
Property = nameof(DemoEntityQuery.BoolField),
113+
Value = true,
114+
Operator = QueryFilterOperator.Equal
115+
};
116+
117+
// query all elements with empty filter list
118+
var result = (await storageContext.QueryAsync<DemoEntityQuery>(null, new List<QueryFilter>())).ToList();
119+
Assert.Equal(3, result.Count());
120+
121+
// query all false elements
122+
filterItem.Value = false;
123+
result = (await storageContext.QueryAsync<DemoEntityQuery>("P1", new List<QueryFilter>() { filterItem })).ToList();
124+
Assert.Equal(2, result.Count());
125+
126+
// query all true elements
127+
filterItem.Value = true;
128+
result = (await storageContext.QueryAsync<DemoEntityQuery>("P1", new List<QueryFilter>() { filterItem })).ToList();
129+
Assert.Single(result);
130+
131+
// Clean up
132+
var all = await storageContext.QueryAsync<DemoEntityQuery>();
133+
await storageContext.DeleteAsync<DemoEntityQuery>(all);
134+
await storageContext.DropTableAsync<DemoEntityQuery>();
135+
}
136+
}
84137
}
85138
}

0 commit comments

Comments
 (0)