final DeviceStateButtonCometeV2 widget = new DeviceStateButtonCometeV2.Builder(m_deviceName).jframe(jf1)
.build();
Sleeper.SECONDS.sleep(2);
final ActionListenerImpl listenerSpy = new ActionListenerImpl();
widget.addActionListener(listenerSpy);
final JButton button = (JButton) tth.findFirstComponent(JButton.class, jf1);
assertThat(button).isNotNull();
tth.click(button);
assertThat(listenerSpy.isLaterNotified("actionPerformed", 3000)).isTrue();
// check listener is notify only one time.
Sleeper.SECONDS.sleep(2);
assertThat(listenerSpy.getNotifyCount()).isEqualTo(1);
widget.removeActionListener(listenerSpy);
listenerSpy.reset();
tth.click(button);
Sleeper.SECONDS.sleep(3);
assertThat(listenerSpy.getNotifyCount()).isZero();
// clean
widget.stop();
jf1.dispose();