// Path: mock4aj-core/src/main/java/info/rubico/mock4aj/api/weaving/Weaver.java
// public interface Weaver {
// 
//     /**
//      * Register an aspect to be weaved later into classes.
//      */
//     void registerAspect(Class<?> aspect);
// 
//     /**
//      * Unregister a previously registered aspect. If the given aspect was not registered, nothing is
//      * done.
//      * 
//      * @throws NotAnAspect if the class is not an aspect class.
//      * @throws NotAConcreteAspect if the aspect is an abstract aspect.
//      */
//     void unregisterAspect(Class<?> aspect);
// 
//     /**
//      * <p>
//      * Reset the weaver to a neutral state (not always the initial state).
//      * </p>
//      * <ul>
//      * <li>All registered aspects <strong>will be unregistered</strong>.</li>
//      * <li>The exact neutral state depends on the implementation. Some states and caches could be
//      * kept for performance reasons. Normally, those remainings should be safe.</li>
//      * </ul>
//      */
//     void reset();
// 
//     /**
//      * Weave a class' bytcode using all registered aspects.
//      * 
//      * @throws WeavingError An error occurs during the weaving.
//      * @return The weaved class' bytecode.
//      */
//     byte[] weaveClassBytes(String className, final byte[] bytes);
// 
// }


import static org.junit.Assert.*;
import static org.mockito.Matchers.*;
import static org.mockito.Mockito.*;
import info.rubico.mock4aj.api.weaving.Weaver;
import java.util.Date;
import org.aspectj.lang.annotation.Aspect;
import org.junit.Before;
import org.junit.Test;
package info.rubico.mock4aj.api.calls;




public class DefaultCallContextWithExistingWeaverTest {

    private CallContext context;
    private Weaver weaverMock;

    @Before
    public void setupAspectJWeavingCallContext() {
// Path: mock4aj-core/src/main/java/info/rubico/mock4aj/api/weaving/Weaver.java
// public interface Weaver {
// 
//     /**
//      * Register an aspect to be weaved later into classes.
//      */
//     void registerAspect(Class<?> aspect);
// 
//     /**
//      * Unregister a previously registered aspect. If the given aspect was not registered, nothing is
//      * done.
//      * 
//      * @throws NotAnAspect if the class is not an aspect class.
//      * @throws NotAConcreteAspect if the aspect is an abstract aspect.
//      */
//     void unregisterAspect(Class<?> aspect);
// 
//     /**
//      * <p>
//      * Reset the weaver to a neutral state (not always the initial state).
//      * </p>
//      * <ul>
//      * <li>All registered aspects <strong>will be unregistered</strong>.</li>
//      * <li>The exact neutral state depends on the implementation. Some states and caches could be
//      * kept for performance reasons. Normally, those remainings should be safe.</li>
//      * </ul>
//      */
//     void reset();
// 
//     /**
//      * Weave a class' bytcode using all registered aspects.
//      * 
//      * @throws WeavingError An error occurs during the weaving.
//      * @return The weaved class' bytecode.
//      */
//     byte[] weaveClassBytes(String className, final byte[] bytes);
// 
// }


// Path: mock4aj-core/src/test/java/info/rubico/mock4aj/api/calls/DefaultCallContextWithExistingWeaverTest.java
import static org.junit.Assert.*;
import static org.mockito.Matchers.*;
import static org.mockito.Mockito.*;
import info.rubico.mock4aj.api.weaving.Weaver;
import java.util.Date;
import org.aspectj.lang.annotation.Aspect;
import org.junit.Before;
import org.junit.Test;

package info.rubico.mock4aj.api.calls;




public class DefaultCallContextWithExistingWeaverTest {

    private CallContext context;
    private Weaver weaverMock;

    @Before
    public void setupAspectJWeavingCallContext() {
        weaverMock = mock(Weaver.class);