@Test
public void changes_before_load_become_defaults_and_dont_update_bindings() throws Exception
{
InternalComponentResources resources = mockInternalComponentResources();
Component component = setupForIntegrationTest(resources);
train_isLoaded(resources, false);
replay();
assertNull(_access.get(component, "object"));
verify();
train_isLoaded(resources, false);
replay();
_access.set(component, "object", "new-default");
verify();
train_isLoaded(resources, false);
replay();
assertEquals(_access.get(component, "object"), "new-default");
verify();
trainForPageDidLoad(resources);
replay();
component.containingPageDidLoad();
verify();
// For the set ...
train_isLoaded(resources, true);
train_isBound(resources, "object", false);
train_isRendering(resources, false);
// For the first read ...
train_isLoaded(resources, true);
train_isBound(resources, "object", false);
// For the second read (after postRenderCleanup) ...
train_isLoaded(resources, true);
train_isBound(resources, "object", false);
replay();
_access.set(component, "object", "new-value");
assertEquals(_access.get(component, "object"), "new-value");
component.postRenderCleanup();
assertEquals(_access.get(component, "object"), "new-default");
verify();
}