From 1f7ab418f67ea9bc307ba46604c373c45619876c Mon Sep 17 00:00:00 2001 From: Marco De Salvo Date: Mon, 27 May 2024 16:22:27 +0200 Subject: [PATCH] Give datatypes a IsBuiltIn property --- RDFSharp.Test/Model/RDFDatatypeRegisterTest.cs | 8 ++++++-- RDFSharp/Model/RDFDatatype.cs | 5 +++++ RDFSharp/Model/RDFDatatypeRegister.cs | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/RDFSharp.Test/Model/RDFDatatypeRegisterTest.cs b/RDFSharp.Test/Model/RDFDatatypeRegisterTest.cs index 3492f6b1..b98c27c7 100644 --- a/RDFSharp.Test/Model/RDFDatatypeRegisterTest.cs +++ b/RDFSharp.Test/Model/RDFDatatypeRegisterTest.cs @@ -43,7 +43,9 @@ public void ShouldGetDatatype() { Assert.IsNotNull(RDFDatatypeRegister.GetDatatype(RDFVocabulary.XSD.INTEGER.ToString())); Assert.IsNotNull(RDFDatatypeRegister.GetDatatype(RDFModelEnums.RDFDatatypes.XSD_INTEGER)); - } + //Test that these are built-in datatypes + Assert.IsTrue(RDFDatatypeRegister.GetDatatype(RDFVocabulary.XSD.INTEGER.ToString()).IsBuiltIn); + } [TestMethod] public void ShouldNotGetDatatype() @@ -63,7 +65,9 @@ public void ShouldAddDatatype() Assert.IsTrue(RDFDatatypeRegister.DatatypesCount >= 51); Assert.IsNotNull(RDFDatatypeRegister.GetDatatype("ex:length6")); - } + //Test that this isn't built-in datatype + Assert.IsFalse(RDFDatatypeRegister.GetDatatype("ex:length6").IsBuiltIn); + } #endregion } } \ No newline at end of file diff --git a/RDFSharp/Model/RDFDatatype.cs b/RDFSharp/Model/RDFDatatype.cs index 66292c44..9f3587c3 100644 --- a/RDFSharp/Model/RDFDatatype.cs +++ b/RDFSharp/Model/RDFDatatype.cs @@ -39,6 +39,11 @@ public class RDFDatatype /// Facets applied on the target datatype /// internal List Facets { get; set; } + + /// + /// Indicates that the datatype is built-in into RDFModelEnums.RDFDatatypes + /// + internal bool IsBuiltIn { get; set; } #endregion #region Ctors diff --git a/RDFSharp/Model/RDFDatatypeRegister.cs b/RDFSharp/Model/RDFDatatypeRegister.cs index a6cb2379..835442ae 100644 --- a/RDFSharp/Model/RDFDatatypeRegister.cs +++ b/RDFSharp/Model/RDFDatatypeRegister.cs @@ -64,7 +64,7 @@ static RDFDatatypeRegister() Register = new List() }; foreach (RDFModelEnums.RDFDatatypes datatype in Enum.GetValues(typeof(RDFModelEnums.RDFDatatypes)).Cast()) - Instance.Register.Add(new RDFDatatype(new Uri(RDFModelUtilities.GetDatatypeFromEnum(datatype)), datatype, null)); + Instance.Register.Add(new RDFDatatype(new Uri(RDFModelUtilities.GetDatatypeFromEnum(datatype)), datatype, null) { IsBuiltIn = true }); } #endregion