### Question:
GameObjectInstance implements Reflectable<GameObjectInstanceClassInformation> { @ReflectiveField public Property<String> nameProperty() { return name; } GameObjectInstance(GameEventManager aEventManager, GameObject aOwnerGameObject); @Override GameObjectInstanceClassInformation getClassInformation(); @ReflectiveField Property<String> uuidProperty(); @ReflectiveField Property<Position> positionProperty(); @ReflectiveField Property<String> nameProperty(); @ReflectiveField Property<Angle> rotationAngleProperty(); @ReflectiveField Property<Boolean> visibleProperty(); @ReflectiveField Property<PositionAnchor> positionAnchorProperty(); GameObject getOwnerGameObject(); void removeBehavior(Behavior aBehavior); void removeBehaviorByTemplate(BehaviorTemplate aTemplate); @ReflectiveMethod Behavior findBehaviorByType(String aType); T getBehavior(BehaviorType aBehaviorID); void markAsRemoteObject(); boolean isRemoteObject(); Map<String, Object> serialize(); static GameObjectInstance deserialize(GameRuntime aGameRuntime, GameScene aScene, Map<String, Object> theInstance); static final String UUID_PROPERTY; static final String NAME_PROPERTY; static final String POSITION_PROPERTY; static final String VISIBLE_PROPERTY; static final String ROTATION_ANGLE_PROPERTY; static final String POSITION_ANCHOR_PROPERTY; }### Answer:
@Test public void testNameProperty() throws Exception { GameEventManager theEventManager = mock(GameEventManager.class); Property theVisibleProperty = mock(Property.class); when(theVisibleProperty.get()).thenReturn(true); GameObject theOwner = mock(GameObject.class); when(theOwner.visibleProperty()).thenReturn(theVisibleProperty); GameObjectInstance theInstance = new GameObjectInstance(theEventManager, theOwner); assertEquals("name", theInstance.nameProperty().getName()); assertEquals(String.class, theInstance.nameProperty().getType()); theInstance.nameProperty().set("test"); assertEquals("test", theInstance.nameProperty().get()); verify(theEventManager).handleGameEvent(any(PropertyChanged.class)); }