Class InstrumentedClass

  • All Implemented Interfaces:
    java.rmi.Remote, RemoteInterface

    public class InstrumentedClass
    extends java.lang.Object
    implements RemoteInterface
    InstrumentedClass instances serve two purposes: Internally to the framework they provide a communication endpoint for receiving information from the remote, Byteman instrumented code execution. To the framework user, they provide utility methods for verifying expectations relating to that remote execution e.g. the number of method calls made.
    • Constructor Summary

      Constructors 
      Constructor Description
      InstrumentedClass​(java.lang.String className)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void assertKnownInstances​(int count)
      Checks that the number of known, distinct object instances of this class is as stated.
      void assertMethodCallCount​(java.lang.String methodName, int callCount)
      Checks that the number of known invocations of the given method is specified count.
      void assertMethodCallCount​(java.lang.String message, java.lang.String methodName, int callCount)
      Checks that the number of known invocations of the given method is specified count.
      void assertMethodCallCount​(java.lang.String message, java.lang.String methodName, CallCount callCount)
      Checks that the number of known invocations of the given method falls within the specified range for each known instances of the class.
      void assertMethodCalled​(java.lang.String methodName)
      Checks that the given method has been called at least once on each known instance of the class.
      void assertMethodNotCalled​(java.lang.String methodName)
      Checks that the given method has not been seen to be called on any known instance of the class.
      void assertSumMethodCallCount​(java.lang.String method, int callCount)
      Check that number of known invocations of the given method of all known instances is specified count.
      Difference against assertMethodCallCount(String, int) is that here we query against all know instances.
      java.util.Set<InstrumentedInstance> getInstances()
      Returns the set of known instances of the class.
      int getInvocationCount​(java.lang.String methodName)
      Returns number of method calls for the class.
      Sum number of method calls on all instrumented instances belonging to this instrumented class.
      void trace​(java.lang.String methodName, java.lang.Object[] args)
      Receiving side of the remote communication between the test code and the BytemanTestHelper.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • STATIC_INSTANCE_ID

        private static final java.lang.Integer STATIC_INSTANCE_ID
      • className

        private final java.lang.String className
      • instrumentedInstances

        private final java.util.Map<java.lang.Integer,​InstrumentedInstance> instrumentedInstances
    • Constructor Detail

      • InstrumentedClass

        InstrumentedClass​(java.lang.String className)
    • Method Detail

      • trace

        public void trace​(java.lang.String methodName,
                          java.lang.Object[] args)
                   throws java.rmi.RemoteException
        Receiving side of the remote communication between the test code and the BytemanTestHelper.
        Specified by:
        trace in interface RemoteInterface
        Parameters:
        methodName - the method name that was traced.
        args - the arguments to the method invocation, in String form.
        Throws:
        java.rmi.RemoteException - in case of communication failure.
        See Also:
        BytemanTestHelper.remoteTrace(String, String, Object[])
      • getInstances

        public java.util.Set<InstrumentedInstance> getInstances()
        Returns the set of known instances of the class.
        Returns:
        a Set of Objects representing instances of the class.
      • getInvocationCount

        public int getInvocationCount​(java.lang.String methodName)
        Returns number of method calls for the class.
        Sum number of method calls on all instrumented instances belonging to this instrumented class. It's sum of all method calls for all known instrumented instances.
        Parameters:
        methodName - name of method which we are interested in how many times was called
        Returns:
        number of method calls on the class (sum of method calls of all instances)
      • assertKnownInstances

        public void assertKnownInstances​(int count)
        Checks that the number of known, distinct object instances of this class is as stated.
        Parameters:
        count - the expected number of instances of the class.
      • assertMethodCallCount

        public void assertMethodCallCount​(java.lang.String message,
                                          java.lang.String methodName,
                                          CallCount callCount)
        Checks that the number of known invocations of the given method falls within the specified range for each known instances of the class.
        Parameters:
        message - the message to print in case of assertion failure.
        methodName - the method name to look for.
        callCount - the expected range for the invocation count.
      • assertMethodCallCount

        public void assertMethodCallCount​(java.lang.String message,
                                          java.lang.String methodName,
                                          int callCount)
        Checks that the number of known invocations of the given method is specified count.
        Parameters:
        message - the message to print in case of assertion failure.
        methodName - the method name to look for.
        callCount - the expected number of the invocation count.
      • assertMethodCallCount

        public void assertMethodCallCount​(java.lang.String methodName,
                                          int callCount)
        Checks that the number of known invocations of the given method is specified count.
        Parameters:
        methodName - the method name to look for.
        callCount - the expected number of the invocation count.
      • assertSumMethodCallCount

        public void assertSumMethodCallCount​(java.lang.String method,
                                             int callCount)
        Check that number of known invocations of the given method of all known instances is specified count.
        Difference against assertMethodCallCount(String, int) is that here we query against all know instances. The other method query each instance to be called by the specific number times.
        Parameters:
        method - the method name to look for
        callCount - the expected number of the invocation count summed on all instances
      • assertMethodCalled

        public void assertMethodCalled​(java.lang.String methodName)
        Checks that the given method has been called at least once on each known instance of the class. Uses junit internally, hence expect the normal exception throwing in case of failure.
        Parameters:
        methodName - the method name to look for.
      • assertMethodNotCalled

        public void assertMethodNotCalled​(java.lang.String methodName)
        Checks that the given method has not been seen to be called on any known instance of the class. Uses junit internally, hence expect the normal exception throwing in case of failure.
        Parameters:
        methodName - the method name to look for.