@Test
  public void testFireModelChanged() {
    WidgetModel model = new WidgetModel(fWidget);
    fWidget.setModel(model);

    final List<String> firedList = new ArrayList<String>();
    // check if fired change event
    model.addModelChangedListener(
        new IModelChangedListener() {

          @Override
          public void modelChanged(IModelChangedEvent event) {
            assertEquals("en", event.getLanguage());
            assertEquals("English description", event.getOldValue());
            assertEquals("Desc", event.getNewValue());
            firedList.add("fired");
          }
        });
    fWidget.setDescription("Desc", "en");
    assertEquals("Check if fired", 1, firedList.size());
  }
  @Before
  public void setUp() throws Exception {
    try {
      DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
      ByteArrayInputStream is = new ByteArrayInputStream(widgetMockConfig.getBytes());
      Document widgetDocument = db.parse(is);

      fWidget = new Widget();
      fWidget.load(widgetDocument.getDocumentElement());

    } catch (Exception e) {
      fail("Failed to initialize test case " + WidgetTest.class.getName() + " " + e.getMessage());
    }
  }