### Question:
SharedComponentPropertiesBindingsValuesProvider implements BindingsValuesProvider { @Override public void addBindings(Bindings bindings) { Resource resource = (Resource) bindings.get("resource"); Component component = WCMUtils.getComponent(resource); if (component != null) { if (pageRootProvider != null) { setSharedProperties(bindings, resource, component); } else { log.debug("Page Root Provider must be configured for shared component properties to be supported"); } setMergedProperties(bindings, resource); } }  @Override void addBindings(Bindings bindings);  }### Answer:
@Test public void addBindings() { final SharedComponentPropertiesBindingsValuesProvider sharedComponentPropertiesBindingsValuesProvider = new SharedComponentPropertiesBindingsValuesProvider(); Whitebox.setInternalState(sharedComponentPropertiesBindingsValuesProvider, "pageRootProvider", pageRootProvider); sharedComponentPropertiesBindingsValuesProvider.addBindings(bindings); assertEquals(sharedPropsResource, bindings.get(SharedComponentProperties.SHARED_PROPERTIES_RESOURCE)); assertEquals(globalPropsResource, bindings.get(SharedComponentProperties.GLOBAL_PROPERTIES_RESOURCE)); assertEquals(sharedProps, bindings.get(SharedComponentProperties.SHARED_PROPERTIES)); assertEquals(globalProps, bindings.get(SharedComponentProperties.GLOBAL_PROPERTIES)); }