All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mockit.internal.expectations.PartiallyMockedInstances Maven / Gradle / Ivy

Go to download

JMockit is a Java toolkit for automated developer testing. It contains APIs for the creation of the objects to be tested, for mocking dependencies, and for faking external APIs; JUnit (4 & 5) and TestNG test runners are supported. It also contains an advanced code coverage tool.

The newest version!
/*
 * Copyright (c) 2006 JMockit developers
 * This file is subject to the terms of the MIT license (see LICENSE.txt).
 */
package mockit.internal.expectations;

import static mockit.internal.util.Utilities.containsReference;

import edu.umd.cs.findbugs.annotations.NonNull;

import java.util.List;

final class PartiallyMockedInstances {
    @NonNull
    private final List dynamicMockInstancesToMatch;

    PartiallyMockedInstances(@NonNull List dynamicMockInstancesToMatch) {
        this.dynamicMockInstancesToMatch = dynamicMockInstancesToMatch;
    }

    boolean isToBeMatchedOnInstance(@NonNull Object mock) {
        return containsReference(dynamicMockInstancesToMatch, mock);
    }

    boolean isDynamicMockInstanceOrClass(@NonNull Object invokedInstance, @NonNull Object invocationInstance) {
        if (containsReference(dynamicMockInstancesToMatch, invokedInstance)) {
            return true;
        }

        Class invokedClass = invocationInstance.getClass();

        for (Object dynamicMock : dynamicMockInstancesToMatch) {
            if (dynamicMock.getClass() == invokedClass) {
                return true;
            }
        }

        return false;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy