/*******************************************************************************
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package test.apache.kato.hprof.image;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.tools.diagnostics.image.ImageAddressSpace;
import javax.tools.diagnostics.image.ImagePointer;
import javax.tools.diagnostics.image.ImageProcess;
public class TestImageAddressSpace extends AbstractHProfTestCase {
public void testGetImageSectionIterator() throws IOException {
ImageAddressSpace space=getFirstAddressSpace();
List i=space.getImageSections();
assertNotNull(i);
}
public void testGetEmptyImageSectionIterator() throws IOException {
ImageAddressSpace space=getFirstAddressSpace();
Iterator i=space.getImageSections().iterator();
assertFalse(i.hasNext());
}
public void testGetCurrentProcess() throws IOException {
ImageAddressSpace space=getFirstAddressSpace();
ImageProcess process=space.getCurrentProcess();
assertNotNull(process);
}
public void testGetProcessIterator() throws IOException {
ImageAddressSpace space=getFirstAddressSpace();
List i=space.getProcesses();
assertNotNull(i);
}
public void testGetNonEmptyProcessIterator() throws IOException {
ImageAddressSpace space=getFirstAddressSpace();
Iterator i=space.getProcesses().iterator();
assertTrue(i.hasNext());
}
public void testProcessIteratorReturnsProcess() throws IOException {
ImageAddressSpace space=getFirstAddressSpace();
Iterator i=space.getProcesses().iterator();
ImageProcess p=(ImageProcess) i.next();
}
public void testProcessIteratorReturnsCurrentProcess() throws IOException {
ImageAddressSpace space=getFirstAddressSpace();
Iterator i=space.getProcesses().iterator();
ImageProcess p=(ImageProcess) i.next();
ImageProcess current=space.getCurrentProcess();
assertEquals("first image process is not current",current,p);
}
public void testEqualsEquals() throws Exception {
ImageAddressSpace space=getFirstAddressSpace();
assertTrue(space.equals(space));
}
public void testNotEqualsNull() throws Exception {
ImageAddressSpace space=getFirstAddressSpace();
assertFalse(space.equals(null));
}
public void testNotEqualsString() throws Exception {
ImageAddressSpace space=getFirstAddressSpace();
assertFalse(space.equals("String"));
}
public void testGetPointerZero() throws Exception {
ImagePointer pointer = getFirstAddressSpace().getPointer(0);
assertEquals(0, pointer.getAddress());
}
public void testGetPointerNonZero() throws Exception {
ImagePointer pointer = getFirstAddressSpace().getPointer(0xfefeededdcdccbcbL);
assertEquals(0xfefeededdcdccbcbL, pointer.getAddress());
}
}