MutableComponentModelImpl implements MutableComponentModel { public List<String> getMixinClassNames() { List<String> result = CollectionFactory.newList(); if (mixinClassNames != null) result.addAll(mixinClassNames); if (parentModel != null) result.addAll(parentModel.getMixinClassNames()); Collections.sort(result); return result; } MutableComponentModelImpl(String componentClassName, Logger logger, Resource baseResource,
                                     ComponentModel parentModel, boolean pageClass, String libraryName); String getLibraryName(); @Override String toString(); Logger getLogger(); Resource getBaseResource(); String getComponentClassName(); void addParameter(String name, boolean required, boolean allowNull, String defaultBindingPrefix,
                             boolean cached); void addParameter(String name, boolean required, boolean allowNull, String defaultBindingPrefix); ParameterModel getParameterModel(String parameterName); boolean isFormalParameter(String parameterName); List<String> getParameterNames(); List<String> getDeclaredParameterNames(); MutableEmbeddedComponentModel addEmbeddedComponent(String id, String type, String componentClassName,
                                                              boolean inheritInformalParameters, Location location); List<String> getEmbeddedComponentIds(); EmbeddedComponentModel getEmbeddedComponentModel(String componentId); String getFieldPersistenceStrategy(String fieldName); List<String> getPersistentFieldNames(); String setFieldPersistenceStrategy(String fieldName, String strategy); boolean isRootClass(); void addMixinClassName(String mixinClassName, String... order); List<String> getMixinClassNames(); void enableSupportsInformalParameters(); boolean getSupportsInformalParameters(); ComponentModel getParentModel(); boolean isMixinAfter(); void setMixinAfter(boolean mixinAfter); void setMeta(String key, String value); void addRenderPhase(Class renderPhase); void addEventHandler(String eventType); String getMeta(String key); Set<Class> getHandledRenderPhases(); boolean handlesEvent(String eventType); String[] getOrderForMixin(String mixinClassName); boolean isPage(); void doHandleActivationEventContext(); boolean handleActivationEventContext();  }
@Test public void get_mixin_class_names_with_no_mixins() { Resource r = mockResource(); Logger logger = mockLogger(); replay(); ComponentModel model = new MutableComponentModelImpl(CLASS_NAME, logger, r, null, false, null); assertTrue(model.getMixinClassNames().isEmpty()); verify(); }