Adding check for duplicates in add_interferometer! #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR resolves #17 add_interferometer! function has been modified to read the json file using JSON.parsefile directly and pass it to its method that takes as input a dictionary. Note that JSON.parsefile returns a Dict{String, Any} dictionary while OMAS.imas2dict constructs a Dict{Symbol, Any} dictionary. Thus after reading the josn file it is converted into a Dict{Symbol, Any}. Then a duplicacy check is run to ensure that new file has no channels that have an overlapping name or identifier. If a duplicate is found, an error is thrown and it recommends the user to use overwrite=true.
In case of overwrite=true, the duplicate channels in existing ids are deletec and the new channels are added. This may change the indices of the channel in ids.interferometer.channel array.
In case there is no duplicacy or overwrite=true with additional channels, the new channels are appended at the end of the ids.interferometer.channel array.
Test cases have been expanded to cover the new functionality.