EList<Slot> slots = mock(EList.class);
Iterator<Slot> slotIter = mock(Iterator.class);
Slot slot = mock(Slot.class);
Property property = mock(Property.class);
Type type = mock(Type.class);
EList<ValueSpecification> valueSpecifications = mock(EList.class);
Iterator<ValueSpecification> valueSpecificationIter = mock(Iterator.class);
ValueSpecification valueSpecification = mock(ValueSpecification.class);
when(enumeration.getOwnedLiterals()).thenReturn(enumLiterals);
when(enumLiterals.iterator()).thenReturn(enumIter);
when(enumIter.hasNext()).thenReturn(true).thenReturn(false);
when(enumIter.next()).thenReturn(enumLiteral);
when(enumLiteral.getName()).thenReturn("Home");
when(enumLiteral.getSlots()).thenReturn(slots);
when(slots.iterator()).thenReturn(slotIter);
when(slotIter.hasNext()).thenReturn(true).thenReturn(false);
when(slotIter.next()).thenReturn(slot);
when(slot.getDefiningFeature()).thenReturn(property);
when(property.getType()).thenReturn(type);
when(type.getName()).thenReturn("Integer");
when(slot.getValues()).thenReturn(valueSpecifications);
when(valueSpecifications.iterator()).thenReturn(valueSpecificationIter);
when(valueSpecificationIter.hasNext()).thenReturn(true).thenReturn(
false);