{
public void testPushAttributeRule()
{
MockControl control = newControl(SchemaProcessor.class);
ElementImpl element = new ElementImpl();
element.setElementName("myelement");
Attribute attribute = new AttributeImpl("fred", "${flintstone}");
element.addAttribute(attribute);
PushAttributeRule rule = new PushAttributeRule();
rule.setAttributeName("fred");
SchemaProcessor mockProcessor = (SchemaProcessor) control.getMock();
mockProcessor.getAttributeTranslator("fred");
control.setReturnValue(new NullTranslator());
mockProcessor.getContributingModule();
MockControl moduleControl = newControl(Module.class);
Module mockModule = (Module) moduleControl.getMock();
control.setReturnValue(mockModule, 2);
mockModule.expandSymbols("${flintstone}", element.getLocation());
moduleControl.setReturnValue("FLINTSTONE");
mockProcessor.push("FLINTSTONE");
mockProcessor.pop();