Skip to content

[Repo Assist] test+eng: 37 StructuralInference unit tests; CI reads SDK version from global.json#1747

Merged
dsyme merged 2 commits intomainfrom
repo-assist/test-structural-inference-2026-04-17-cd136a8845dc218d
Apr 17, 2026
Merged

[Repo Assist] test+eng: 37 StructuralInference unit tests; CI reads SDK version from global.json#1747
dsyme merged 2 commits intomainfrom
repo-assist/test-structural-inference-2026-04-17-cd136a8845dc218d

Conversation

@dsyme
Copy link
Copy Markdown
Contributor

@dsyme dsyme commented Apr 17, 2026

Task 9 — Testing Improvements:
Add tests/FSharp.Data.Core.Tests/StructuralInference.fs with 37 unit
tests covering the core type-inference module (StructuralInference.fs,
the largest source file at 777 lines) which previously had no dedicated
test file. Tests cover:

  • typeTag (all InferedType cases incl. NET6+ DateOnly/TimeOnly)
  • subtypeInfered: Top/Null merging, numeric widening hierarchy
    (Bit0+Bit1→Bit, int+int64→int64, int+float→float, decimal+float→float,
    Bit0+bool→bool), incompatible types → Heterogeneous, optionality
  • subtypeInfered with Records: field union, different names → Heterogeneous
  • inferCollectionType: single type, mixed numeric widening, multiplicity
  • getInferedTypeFromString: empty→Null, Bit/bool/int/int64/decimal/string/
    Guid inference, NoInference mode
  • InferenceMode'.FromPublicApi: all enum values
  • supportsUnitsOfMeasure: numeric vs non-numeric types

All 2957 tests pass (was 2920 before; +37 new).

Task 4 — Engineering Investments:
Replace hardcoded dotnet-version: 10.0.201 in pull-requests.yml (×3)
and push-master.yml (×1) with dotnet-version-file: global.json.
The SDK version is now a single source of truth in global.json
(which already has rollForward: latestMinor). Also update step
names from 'Setup .NET 10' to 'Setup .NET' so they stay accurate
after future SDK bumps.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

github-actions Bot and others added 2 commits April 17, 2026 20:36
…m global.json

Task 9 — Testing Improvements:
Add tests/FSharp.Data.Core.Tests/StructuralInference.fs with 37 unit
tests covering the core type-inference module (StructuralInference.fs,
the largest source file at 777 lines) which previously had no dedicated
test file. Tests cover:
- typeTag (all InferedType cases incl. NET6+ DateOnly/TimeOnly)
- subtypeInfered: Top/Null merging, numeric widening hierarchy
  (Bit0+Bit1→Bit, int+int64→int64, int+float→float, decimal+float→float,
   Bit0+bool→bool), incompatible types → Heterogeneous, optionality
- subtypeInfered with Records: field union, different names → Heterogeneous
- inferCollectionType: single type, mixed numeric widening, multiplicity
- getInferedTypeFromString: empty→Null, Bit/bool/int/int64/decimal/string/
  Guid inference, NoInference mode
- InferenceMode'.FromPublicApi: all enum values
- supportsUnitsOfMeasure: numeric vs non-numeric types

All 2957 tests pass (was 2920 before; +37 new).

Task 4 — Engineering Investments:
Replace hardcoded dotnet-version: 10.0.201 in pull-requests.yml (×3)
and push-master.yml (×1) with dotnet-version-file: global.json.
The SDK version is now a single source of truth in global.json
(which already has rollForward: latestMinor). Also update step
names from 'Setup .NET 10' to 'Setup .NET' so they stay accurate
after future SDK bumps.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dsyme dsyme merged commit e4031d0 into main Apr 17, 2026
3 checks passed
@dsyme dsyme deleted the repo-assist/test-structural-inference-2026-04-17-cd136a8845dc218d branch April 17, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant