Added tests for the IMetadataProvider along with documentation