public void ShouldCallQueryRunIfParserReturnsAQuery() { queryParser.Parse(Arg.Any <string>()).Returns(new List <IQueryInstruction> { new SelectQuery(@"select * from students where id = '0';") }); database.Query(string.Empty); queryParser.Received(1).Parse(Arg.Any <string>()); databaseEngine.Received(1).Query(Arg.Any <IQueryInstruction>()); }
public async void GivenRequestForInstances_WhenRetrievingQueriableExtendedQueryTags_ReturnsAllTags(QueryResource resourceType) { var request = new QueryResourceRequest( Substitute.For <IEnumerable <KeyValuePair <string, StringValues> > >(), resourceType, TestUidGenerator.Generate(), TestUidGenerator.Generate()); List <ExtendedQueryTagStoreEntry> storeEntries = new List <ExtendedQueryTagStoreEntry>() { new ExtendedQueryTagStoreEntry(1, "00741000", "CS", null, QueryTagLevel.Instance, ExtendedQueryTagStatus.Ready), new ExtendedQueryTagStoreEntry(2, "0040A121", "DA", null, QueryTagLevel.Series, ExtendedQueryTagStatus.Ready), new ExtendedQueryTagStoreEntry(3, "00101005", "PN", null, QueryTagLevel.Study, ExtendedQueryTagStatus.Ready), }; var list = QueryTagService.CoreQueryTags.Concat(storeEntries.Select(item => new QueryTag(item))).ToList(); _queryTagService.GetQueryTagsAsync().ReturnsForAnyArgs(list); _queryStore.QueryAsync(Arg.Any <QueryExpression>(), Arg.Any <CancellationToken>()).ReturnsForAnyArgs(new QueryResult(new List <VersionedInstanceIdentifier>())); await _queryService.QueryAsync(request, CancellationToken.None); _queryParser.Received().Parse(request, Arg.Do <IReadOnlyCollection <QueryTag> >(x => Assert.Equal(x, list, QueryTagComparer.Default))); }