diff --git a/src/Hl7.Fhir.Base/ElementModel/TypedElementParseExtensions.cs b/src/Hl7.Fhir.Base/ElementModel/TypedElementParseExtensions.cs
index a02a31d946..14889d90e2 100644
--- a/src/Hl7.Fhir.Base/ElementModel/TypedElementParseExtensions.cs
+++ b/src/Hl7.Fhir.Base/ElementModel/TypedElementParseExtensions.cs
@@ -34,12 +34,14 @@ public static class TypedElementParseExtensions
/// 'Extension' => depends on value[x]
/// 'string' => code
/// 'uri' => code
+ /// 'CodeableReference' => CodeableConcept if 'concept' is present, otherwise null
///
public static Element? ParseBindable(this ITypedElement instance)
#pragma warning disable CS0618 // Type or member is obsolete
=> instance.ParseBindableInternal();
#pragma warning restore CS0618 // Type or member is obsolete
+ ///
[Obsolete("WARNING! Intended for internal API usage exclusively, interface IBaseElementNavigator can be changed in " +
"the near future.")]
public static Element? ParseBindableInternal(this IBaseElementNavigator instance) where T : IBaseElementNavigator
diff --git a/src/Hl7.Fhir.ElementModel.R4B.Tests/ParseExtensionsTests.cs b/src/Hl7.Fhir.ElementModel.R4B.Tests/ParseExtensionsTests.cs
deleted file mode 100644
index 9e027fda75..0000000000
--- a/src/Hl7.Fhir.ElementModel.R4B.Tests/ParseExtensionsTests.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using FluentAssertions;
-using Hl7.Fhir.ElementModel;
-using Hl7.Fhir.Model;
-using System.Collections.Generic;
-using Xunit;
-
-namespace Hl7.Fhir.Validation
-{
- public partial class ParseExtensionsTests
- {
- [Fact]
- public void TestParseCodeableReference()
- {
- var i = new CodeableReference
- {
- Reference = new ResourceReference("http://example.org/fhir/Patient/1"),
- Concept = new CodeableConcept("http://nu.nl", "bla")
- };
-
- var node = i.ToTypedElement();
- var p = node.ParseBindable();
-
- p.Should().BeEquivalentTo(new { Coding = new List { new Coding("http://nu.nl", "bla") } });
- }
- }
-}
diff --git a/src/Hl7.Fhir.ElementModel.R5.Tests/ParseExtensionsTests.cs b/src/Hl7.Fhir.ElementModel.R5.Tests/ParseExtensionsTests.cs
deleted file mode 100644
index 09d07e2f66..0000000000
--- a/src/Hl7.Fhir.ElementModel.R5.Tests/ParseExtensionsTests.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using FluentAssertions;
-using Hl7.Fhir.ElementModel;
-using Hl7.Fhir.Model;
-using System.Collections.Generic;
-using Xunit;
-
-namespace Hl7.Fhir.Validation
-{
- public partial class ParseExtensionsTests
- {
- [Fact]
- public void TestParseCodeableReference()
- {
- var i = new CodeableReference
- {
- Reference = new ResourceReference("http://example.org/fhir/Patient/1"),
- Concept = new CodeableConcept("http://nu.nl", "bla")
- };
-
- var node = i.ToTypedElement();
- var p = node.ParseBindable();
-
- p.Should().BeEquivalentTo(new { Coding = new List { new Coding("http://nu.nl", "bla") } });
- }
- }
-}
\ No newline at end of file
diff --git a/src/Hl7.Fhir.ElementModel.Shared.Tests/ParseExtensionsTests.cs b/src/Hl7.Fhir.ElementModel.Shared.Tests/ParseExtensionsTests.cs
index 71ee466d10..e8503bb24b 100644
--- a/src/Hl7.Fhir.ElementModel.Shared.Tests/ParseExtensionsTests.cs
+++ b/src/Hl7.Fhir.ElementModel.Shared.Tests/ParseExtensionsTests.cs
@@ -1,10 +1,13 @@
-using Hl7.Fhir.ElementModel;
+using FluentAssertions;
+using Hl7.Fhir.ElementModel;
using Hl7.Fhir.Model;
+using Hl7.Fhir.Specification.Terminology;
+using System.Collections.Generic;
using Xunit;
namespace Hl7.Fhir.Validation
{
- public partial class ParseExtensionsTests
+ public class ParseExtensionsTests
{
[Fact]
public void TestParseQuantity()
@@ -131,5 +134,25 @@ public void TestParseUnbindable()
var xe = node.ParseBindable();
Assert.Null(xe);
}
+
+ [Fact]
+ public void TestParseCodeableReference()
+ {
+ var i = new CodeableReference
+ {
+ Reference = new ResourceReference("http://example.org/fhir/Patient/1"),
+ Concept = new CodeableConcept("http://nu.nl", "bla")
+ };
+
+ var node = i.ToTypedElement();
+ var p = node.ParseBindable();
+
+ p.Should().BeEquivalentTo(new { Coding = new List { new Coding("http://nu.nl", "bla") } });
+
+ i.Concept = null;
+ node = i.ToTypedElement();
+ p = node.ParseBindable();
+ p.Should().BeNull();
+ }
}
}