Open baseTwo opened 1 week ago
Since this is a big merge between the three branches, @ewoutkramer suggested @EvanMachusak also reviewing
I removed the CoreTests version because the XmlTests in CqlToElm supplanted it.
All the warnings about new public API have to be resolved, otherwise it will not build....
The PR will be changed back to draft. The scopes branch will be merged as a separate PR, and the work before that will move over to another PR
ℹ️Work for #371 and #386
Background
Prior to this PR, develop was merged into
develop-2.0
, anddevelop
was merged intocql-to-elm
.This PR merges
cql-to-elm
and 'scopes' intodevelop-2.0
. These branches deviated significantly over the past 4 or more months and merging them all back into one, is quite a challenge.Remarks
Cql.slnf
, to include the three new projects related to cql-to-elmCql.Firely.Test
, since it only had one unit test without any assertionsCqlOperatorBinder
method binding logic had to be expanded. Previously only the inner generic argument was matched to the generic parameter, but now the argument itself is also tried. Meaning, previously when the input argument is CqlIntervalElmAsExpression
must also take an argument for strictnessBase
test in CqlToElmTests must useLibraryExpressionBuilder
instead of ExpressionBuilderLambda
method was removed onExpressionBuilder
, but the CqlToElmTests still use it, so had to put an extension method for it there. Also, theExpressionBuilderContext.TranslateArg
method had to be opened from private to internal, to make this workExpressionBuilderContext.TranslateElement
. This is especially important when two arguments are passed to Equals, since it expects the argument types to be the sameCMS Integration Tests
Running the integration tests (a separate repo from this) returns the following results:
Questions
LengthNullString
andLengthNullList
. The logic forLength
can be found inCqlOperators.Length(string?)
andCqlOperators.Length<T>(IEnumerable<T>?)
. I added the LengthNullString test in code and in the xml tests as wellXmlTests
, one in CoreTests, the other in CqlToElmTests. The one in CoreTests is empty? My guess is the CqlToElmTests.XmlTests is replacing CoreTests.XmlTests and thus the latter must be removed?