ResourceImpl implements Resource { @Override public Type getType() { return type; } ResourceImpl(Type type);  ResourceImpl(Resource resource);  ResourceImpl(Resource resource, Set<String> propertyIds); @Override Type getType(); @Override Map<String, Map<String, Object>> getPropertiesMap(); @Override void setProperty(String id, Object value); @Override void addCategory(String id); @Override Object getPropertyValue(String id); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void testGetType() { Resource resource = new ResourceImpl(Resource.Type.Cluster); Assert.assertEquals(Resource.Type.Cluster, resource.getType()); resource = new ResourceImpl(Resource.Type.Service); Assert.assertEquals(Resource.Type.Service, resource.getType()); resource = new ResourceImpl(Resource.Type.Host); Assert.assertEquals(Resource.Type.Host, resource.getType()); resource = new ResourceImpl(Resource.Type.Component); Assert.assertEquals(Resource.Type.Component, resource.getType()); resource = new ResourceImpl(Resource.Type.HostComponent); Assert.assertEquals(Resource.Type.HostComponent, resource.getType()); }