### Question:
ButtonMenu extends LinearLayout implements ButtonVMListener, ButtonMenuVMListener { private void addItem(final ButtonVM buttonVM) { if (!items.containsKey(buttonVM)) { View view = renderItem(buttonVM); hookActions(view, buttonVM); items.put(buttonVM, view); updateWeight(); } } ButtonMenu(Context context);  ButtonMenu(Context context, AttributeSet attrs); @TargetApi(VERSION_CODES.HONEYCOMB)  ButtonMenu(Context context, AttributeSet attrs, int defStyle); void initialize(); void release(); void setButtonMenuVM(ButtonMenuVM buttonMenuVM); ButtonMenuVM getButtonMenuVM(); void setOnButtonCommandExecutedListener(OnButtonCommandExecuted onButtonCommandExecutedListener); @Override void onEnablePropertyChanged(boolean enabled, ButtonVM buttonVM); @Override void onCounterValueChanged(int counterValue, CounterButtonVM buttonVM); @Override void onImageResourceChanged(int imageResourceId, MutableResourceButtonVM buttonVM); @Override void onSubjectChanged(String subject, MutableSubjectButtonVM buttonVM); @Override void onButtonVMAdded(final ButtonVM buttonVM); @Override void onButtonVMRemoved(final ButtonVM buttonVM); @Override void onProgressValueChanged(boolean loading, ButtonWithProgressVM buttonVM);  }### Answer:
@Test public void everyChildShouldHaveTheSameWeightWithCorrectSumAfterAddingButton() { initializeButtonMenu(); buttonMenuVM.addItem(new SimpleButtonVM(android.R.layout.simple_list_item_2, android.R.id.text2, mockedButtonCommand3)); assertEveryChildHasTheSameWeightWithCorrectSum(); }