BHoM / BHoM_Engine

Internal manipulation of the BHoM
GNU Lesser General Public License v3.0
26 stars 12 forks source link

Serialiser_Engine: Deserialisation of a serialised object with an empty name resulting in a null #3357

Closed peterjamesnugent closed 1 week ago

peterjamesnugent commented 1 month ago

Description:

The only one still failing locally is the Cellular section, and that is a serialisation issue rather than a UT issue.

It is coming from the change to how the name is handled in https://github.com/BHoM/BHoM_Engine/pull/3144 . Where the obejct returned has an empty name, but when serialised and de-serialised it comes back with a null name.

Could potentially set names on deserialization to empty strings rather than null, but that could cause similar issues the other way around. Other otption would be to roll back the change for the name made in the linked PR, or make it onyl skip name if null, rather than NullOrEmpty.

Steps to reproduce:

See test file.

Expected behaviour:

Unit Test to pass.

Test file(s):

https://burohappold.sharepoint.com/:u:/r/sites/BHoM/02_Current/12_Scripts/01_Issue/BHoM/BHoM_Engine/Serialiser_Engine/Cellular%20Section%20UT%20Fail.gh?csf=1&web=1&e=CYt4pK

@al-fisher, @michaelhoehn, @pawelbaran this is what we discussed in the call.

IsakNaslundBh commented 4 weeks ago

@peterjamesnugent Think I would agree with changing to only skipping name if null, rather than null or empty. to get the UTs passing, it is either that or to make some rather convoluted exception for how name is checked for UnitTests which feels iffy to say the least.