public void Should_Correctly_Represent_Observation_Shape() { var compilerCtx = GetObservationCompilerContext(); var compiler = new DatasetSqlCompiler(GetSqlCompiler(), GetCompilerOptions()); var executionCtx = compiler.BuildDatasetSql(compilerCtx); Assert.Equal(Shape.Observation, executionCtx.Shape); }
public void Should_Throw_If_Sql_Contains_Illegal_Command() { var compilerCtx = GetEncounterCompilerContext(); compilerCtx.DatasetQuery.SqlStatement = "DROP TABLE encounter"; var compiler = new DatasetSqlCompiler(GetSqlCompiler(), GetCompilerOptions()); Assert.Throws <LeafCompilerException>(() => compiler.BuildDatasetSql(compilerCtx)); }
public void Should_Correctly_Reference_AppDb() { var compilerCtx = GetEncounterCompilerContext(); var compiler = new DatasetSqlCompiler(GetSqlCompiler(), GetCompilerOptions()); var executionCtx = compiler.BuildDatasetSql(compilerCtx); Assert.Contains("LeafDB", executionCtx.CompiledQuery); }
public void Encounter_Should_Correctly_Reference_LateBound_Parameter() { var compilerCtx = GetEncounterCompilerContext(); var compiler = new DatasetSqlCompiler(GetSqlCompiler(), GetCompilerOptions()); var executionCtx = compiler.BuildDatasetSql(compilerCtx); Assert.Contains(EncounterColumns.AdmitDate, executionCtx.CompiledQuery); Assert.Contains(executionCtx.Parameters, p => p.Name == "@late"); }
public void Should_Correctly_Reference_QueryId_Parameter() { var compilerCtx = GetEncounterCompilerContext(); var compiler = new DatasetSqlCompiler(GetSqlCompiler(), GetCompilerOptions()); var executionCtx = compiler.BuildDatasetSql(compilerCtx); Assert.Contains(ShapedDatasetCompilerContext.QueryIdParam, executionCtx.CompiledQuery); Assert.Contains(executionCtx.Parameters, p => p.Name == ShapedDatasetCompilerContext.QueryIdParam && p.Value.Equals(compilerCtx.QueryContext.QueryId)); }
public void Observation_Should_Correctly_Reference_EarlyBound_And_LateBound_Parameter() { var compilerCtx = GetObservationCompilerContext(early: true); var compiler = new DatasetSqlCompiler(GetSqlCompiler(), GetCompilerOptions()); var executionCtx = compiler.BuildDatasetSql(compilerCtx); Assert.Contains(ObservationColumns.EffectiveDate, executionCtx.CompiledQuery); Assert.Contains(executionCtx.Parameters, p => p.Name == "@early"); Assert.Contains(executionCtx.Parameters, p => p.Name == "@late"); }