class org.junit.jupiter.api.AssertionUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.junit.jupiter.api.AssertionUtils
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.api.AssertionUtils this
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            return
        end local 0 // org.junit.jupiter.api.AssertionUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/junit/jupiter/api/AssertionUtils;

  static void fail();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 35
            new org.opentest4j.AssertionFailedError
            dup
            invokespecial org.opentest4j.AssertionFailedError.<init>:()V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void fail(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String message
         0: .line 39
            new org.opentest4j.AssertionFailedError
            dup
            aload 0 /* message */
            invokespecial org.opentest4j.AssertionFailedError.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  static void fail(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable cause
         0: .line 43
            new org.opentest4j.AssertionFailedError
            dup
            aload 0 /* message */
            aload 1 /* cause */
            invokespecial org.opentest4j.AssertionFailedError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  message  Ljava/lang/String;
            0    1     1    cause  Ljava/lang/Throwable;
    MethodParameters:
         Name  Flags
      message  
      cause    

  static void fail(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Throwable cause
         0: .line 47
            new org.opentest4j.AssertionFailedError
            dup
            aconst_null
            aload 0 /* cause */
            invokespecial org.opentest4j.AssertionFailedError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Throwable cause
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  static void fail(java.util.function.Supplier<java.lang.String>);
    descriptor: (Ljava/util/function/Supplier;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.function.Supplier messageSupplier
         0: .line 51
            new org.opentest4j.AssertionFailedError
            dup
            aload 0 /* messageSupplier */
            invokestatic org.junit.jupiter.api.AssertionUtils.nullSafeGet:(Ljava/util/function/Supplier;)Ljava/lang/String;
            invokespecial org.opentest4j.AssertionFailedError.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.util.function.Supplier messageSupplier
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  messageSupplier  Ljava/util/function/Supplier<Ljava/lang/String;>;
    Signature: (Ljava/util/function/Supplier<Ljava/lang/String;>;)V
    MethodParameters:
                 Name  Flags
      messageSupplier  

  static void fail(java.lang.String, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String message
        start local 1 // java.lang.Object expected
        start local 2 // java.lang.Object actual
         0: .line 55
            new org.opentest4j.AssertionFailedError
            dup
            aload 0 /* message */
            aload 1 /* expected */
            aload 2 /* actual */
            invokespecial org.opentest4j.AssertionFailedError.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object actual
        end local 1 // java.lang.Object expected
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   message  Ljava/lang/String;
            0    1     1  expected  Ljava/lang/Object;
            0    1     2    actual  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      message   
      expected  
      actual    

  static void failNotEqual(java.lang.Object, java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object expected
        start local 1 // java.lang.Object actual
        start local 2 // java.lang.String message
         0: .line 62
            aload 0 /* expected */
            aload 1 /* actual */
            aload 2 /* message */
            invokestatic org.junit.jupiter.api.AssertionUtils.format:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* expected */
            aload 1 /* actual */
            invokestatic org.junit.jupiter.api.AssertionUtils.fail:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 63
            return
        end local 2 // java.lang.String message
        end local 1 // java.lang.Object actual
        end local 0 // java.lang.Object expected
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  expected  Ljava/lang/Object;
            0    2     1    actual  Ljava/lang/Object;
            0    2     2   message  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      expected  
      actual    
      message   

  static void failNotEqual(, , java.util.function.Supplier<java.lang.String>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/Supplier;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object expected
        start local 1 // java.lang.Object actual
        start local 2 // java.util.function.Supplier messageSupplier
         0: .line 69
            aload 0 /* expected */
            aload 1 /* actual */
            aload 2 /* messageSupplier */
            invokestatic org.junit.jupiter.api.AssertionUtils.nullSafeGet:(Ljava/util/function/Supplier;)Ljava/lang/String;
            invokestatic org.junit.jupiter.api.AssertionUtils.format:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* expected */
            aload 1 /* actual */
            invokestatic org.junit.jupiter.api.AssertionUtils.fail:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 70
            return
        end local 2 // java.util.function.Supplier messageSupplier
        end local 1 // java.lang.Object actual
        end local 0 // java.lang.Object expected
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0         expected  Ljava/lang/Object;
            0    2     1           actual  Ljava/lang/Object;
            0    2     2  messageSupplier  Ljava/util/function/Supplier<Ljava/lang/String;>;
    Signature: (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/Supplier<Ljava/lang/String;>;)V
    MethodParameters:
                 Name  Flags
      expected         
      actual           
      messageSupplier  

  static java.lang.String nullSafeGet(java.util.function.Supplier<java.lang.String>);
    descriptor: (Ljava/util/function/Supplier;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.function.Supplier messageSupplier
         0: .line 73
            aload 0 /* messageSupplier */
            ifnull 1
            aload 0 /* messageSupplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.String
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.util.function.Supplier messageSupplier
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0  messageSupplier  Ljava/util/function/Supplier<Ljava/lang/String;>;
    Signature: (Ljava/util/function/Supplier<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      messageSupplier  

  static java.lang.String nullSafeGet(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object messageOrSupplier
         0: .line 84
            aload 0 /* messageOrSupplier */
            instanceof java.lang.String
            ifeq 2
         1: .line 85
            aload 0 /* messageOrSupplier */
            checkcast java.lang.String
            areturn
         2: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* messageOrSupplier */
            instanceof java.util.function.Supplier
            ifeq 6
         3: .line 88
            aload 0 /* messageOrSupplier */
            checkcast java.util.function.Supplier
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            astore 1 /* message */
        start local 1 // java.lang.Object message
         4: .line 89
            aload 1 /* message */
            ifnull 6
         5: .line 90
            aload 1 /* message */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object message
         6: .line 93
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object messageOrSupplier
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0  messageOrSupplier  Ljava/lang/Object;
            4    6     1            message  Ljava/lang/Object;
    MethodParameters:
                   Name  Flags
      messageOrSupplier  

  static java.lang.String buildPrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String message
         0: .line 97
            aload 0 /* message */
            invokestatic org.junit.platform.commons.util.StringUtils.isNotBlank:(Ljava/lang/String;)Z
            ifeq 1
            new java.lang.StringBuilder
            dup
            aload 0 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ==> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  static java.lang.String getCanonicalName(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 102
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            astore 1 /* canonicalName */
        start local 1 // java.lang.String canonicalName
         1: .line 103
            aload 1 /* canonicalName */
            ifnull 2
            aload 1 /* canonicalName */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.String canonicalName
         4: .line 105
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         5: .line 106
            aload 1 /* t */
            invokestatic org.junit.platform.commons.util.UnrecoverableExceptions.rethrowIfUnrecoverable:(Ljava/lang/Throwable;)V
         6: .line 107
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0          clazz  Ljava/lang/Class<*>;
            1    4     1  canonicalName  Ljava/lang/String;
            5    7     1              t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      clazz  

  static java.lang.String format(java.lang.Object, java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object expected
        start local 1 // java.lang.Object actual
        start local 2 // java.lang.String message
         0: .line 112
            new java.lang.StringBuilder
            dup
            aload 2 /* message */
            invokestatic org.junit.jupiter.api.AssertionUtils.buildPrefix:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* expected */
            aload 1 /* actual */
            invokestatic org.junit.jupiter.api.AssertionUtils.formatValues:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String message
        end local 1 // java.lang.Object actual
        end local 0 // java.lang.Object expected
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  expected  Ljava/lang/Object;
            0    1     1    actual  Ljava/lang/Object;
            0    1     2   message  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      expected  
      actual    
      message   

  static java.lang.String formatValues(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.lang.Object expected
        start local 1 // java.lang.Object actual
         0: .line 116
            aload 0 /* expected */
            invokestatic org.junit.jupiter.api.AssertionUtils.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* expectedString */
        start local 2 // java.lang.String expectedString
         1: .line 117
            aload 1 /* actual */
            invokestatic org.junit.jupiter.api.AssertionUtils.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* actualString */
        start local 3 // java.lang.String actualString
         2: .line 118
            aload 2 /* expectedString */
            aload 3 /* actualString */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 119
            ldc "expected: %s but was: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* expected */
            aload 2 /* expectedString */
            invokestatic org.junit.jupiter.api.AssertionUtils.formatClassAndValue:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
         4: .line 120
            aload 1 /* actual */
            aload 3 /* actualString */
            invokestatic org.junit.jupiter.api.AssertionUtils.formatClassAndValue:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
         5: .line 119
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         6: .line 122
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            ldc "expected: <%s> but was: <%s>"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* expectedString */
            aastore
            dup
            iconst_1
            aload 3 /* actualString */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String actualString
        end local 2 // java.lang.String expectedString
        end local 1 // java.lang.Object actual
        end local 0 // java.lang.Object expected
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0        expected  Ljava/lang/Object;
            0    7     1          actual  Ljava/lang/Object;
            1    7     2  expectedString  Ljava/lang/String;
            2    7     3    actualString  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      expected  
      actual    

  private static java.lang.String formatClassAndValue(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object value
        start local 1 // java.lang.String valueString
         0: .line 126
            new java.lang.StringBuilder
            dup
            aload 0 /* value */
            invokestatic org.junit.jupiter.api.AssertionUtils.getClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* value */
            invokestatic org.junit.jupiter.api.AssertionUtils.toHash:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* classAndHash */
        start local 2 // java.lang.String classAndHash
         1: .line 128
            aload 0 /* value */
            instanceof java.lang.Class
            ifeq 2
            new java.lang.StringBuilder
            dup
            ldc "<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* classAndHash */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: new java.lang.StringBuilder
            dup
            aload 2 /* classAndHash */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* valueString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 2 // java.lang.String classAndHash
        end local 1 // java.lang.String valueString
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0         value  Ljava/lang/Object;
            0    4     1   valueString  Ljava/lang/String;
            1    4     2  classAndHash  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      value        
      valueString  

  private static java.lang.String toString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 132
            aload 0 /* obj */
            instanceof java.lang.Class
            ifeq 2
         1: .line 133
            aload 0 /* obj */
            checkcast java.lang.Class
            invokestatic org.junit.jupiter.api.AssertionUtils.getCanonicalName:(Ljava/lang/Class;)Ljava/lang/String;
            areturn
         2: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            invokestatic org.junit.platform.commons.util.StringUtils.nullSafeToString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private static java.lang.String toHash(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 139
            aload 0 /* obj */
            ifnonnull 1
            ldc ""
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.StringBuilder
            dup
            ldc "@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* obj */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private static java.lang.String getClassName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 143
            aload 0 /* obj */
            ifnonnull 1
            ldc "null"
            goto 3
         1: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof java.lang.Class
            ifeq 2
            aload 0 /* obj */
            checkcast java.lang.Class
            invokestatic org.junit.jupiter.api.AssertionUtils.getCanonicalName:(Ljava/lang/Class;)Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         3: .line 143
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  static java.lang.String formatIndexes(java.util.Deque<java.lang.Integer>);
    descriptor: (Ljava/util/Deque;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.util.Deque indexes
         0: .line 148
            aload 0 /* indexes */
            ifnull 1
            aload 0 /* indexes */
            invokeinterface java.util.Deque.isEmpty:()Z
            ifeq 2
         1: .line 149
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* indexes */
            invokeinterface java.util.Deque.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/Object.toString()Ljava/lang/String; (5)
                  (Ljava/lang/Integer;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            ldc "]["
            ldc "["
            ldc "]"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* indexesString */
        start local 1 // java.lang.String indexesString
         3: .line 152
            new java.lang.StringBuilder
            dup
            ldc " at index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* indexesString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String indexesString
        end local 0 // java.util.Deque indexes
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0        indexes  Ljava/util/Deque<Ljava/lang/Integer;>;
            3    4     1  indexesString  Ljava/lang/String;
    Signature: (Ljava/util/Deque<Ljava/lang/Integer;>;)Ljava/lang/String;
    MethodParameters:
         Name  Flags
      indexes  

  static boolean floatsAreEqual(float, float, float);
    descriptor: (FFF)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // float value1
        start local 1 // float value2
        start local 2 // float delta
         0: .line 156
            fload 2 /* delta */
            invokestatic org.junit.jupiter.api.AssertionUtils.assertValidDelta:(F)V
         1: .line 157
            fload 0 /* value1 */
            fload 1 /* value2 */
            invokestatic org.junit.jupiter.api.AssertionUtils.floatsAreEqual:(FF)Z
            ifne 2
            fload 0 /* value1 */
            fload 1 /* value2 */
            fsub
            invokestatic java.lang.Math.abs:(F)F
            fload 2 /* delta */
            fcmpg
            ifle 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // float delta
        end local 1 // float value2
        end local 0 // float value1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  value1  F
            0    3     1  value2  F
            0    3     2   delta  F
    MethodParameters:
        Name  Flags
      value1  
      value2  
      delta   

  static void assertValidDelta(float);
    descriptor: (F)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // float delta
         0: .line 161
            fload 0 /* delta */
            invokestatic java.lang.Float.isNaN:(F)Z
            ifne 1
            fload 0 /* delta */
            f2d
            dconst_0
            dcmpg
            ifge 2
         1: .line 162
      StackMap locals:
      StackMap stack:
            fload 0 /* delta */
            invokestatic java.lang.String.valueOf:(F)Ljava/lang/String;
            invokestatic org.junit.jupiter.api.AssertionUtils.failIllegalDelta:(Ljava/lang/String;)V
         2: .line 164
      StackMap locals:
      StackMap stack:
            return
        end local 0 // float delta
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  delta  F
    MethodParameters:
       Name  Flags
      delta  

  static void assertValidDelta(double);
    descriptor: (D)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double delta
         0: .line 167
            dload 0 /* delta */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* delta */
            dconst_0
            dcmpg
            ifge 2
         1: .line 168
      StackMap locals:
      StackMap stack:
            dload 0 /* delta */
            invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
            invokestatic org.junit.jupiter.api.AssertionUtils.failIllegalDelta:(Ljava/lang/String;)V
         2: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 0 // double delta
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  delta  D
    MethodParameters:
       Name  Flags
      delta  

  static boolean floatsAreEqual(float, float);
    descriptor: (FF)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // float value1
        start local 1 // float value2
         0: .line 173
            fload 0 /* value1 */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            fload 1 /* value2 */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // float value2
        end local 0 // float value1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  value1  F
            0    2     1  value2  F
    MethodParameters:
        Name  Flags
      value1  
      value2  

  static boolean doublesAreEqual(double, double, double);
    descriptor: (DDD)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // double value1
        start local 2 // double value2
        start local 4 // double delta
         0: .line 177
            dload 4 /* delta */
            invokestatic org.junit.jupiter.api.AssertionUtils.assertValidDelta:(D)V
         1: .line 178
            dload 0 /* value1 */
            dload 2 /* value2 */
            invokestatic org.junit.jupiter.api.AssertionUtils.doublesAreEqual:(DD)Z
            ifne 2
            dload 0 /* value1 */
            dload 2 /* value2 */
            dsub
            invokestatic java.lang.Math.abs:(D)D
            dload 4 /* delta */
            dcmpg
            ifle 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 4 // double delta
        end local 2 // double value2
        end local 0 // double value1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  value1  D
            0    3     2  value2  D
            0    3     4   delta  D
    MethodParameters:
        Name  Flags
      value1  
      value2  
      delta   

  static boolean doublesAreEqual(double, double);
    descriptor: (DD)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double value1
        start local 2 // double value2
         0: .line 182
            dload 0 /* value1 */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            dload 2 /* value2 */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // double value2
        end local 0 // double value1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  value1  D
            0    2     2  value2  D
    MethodParameters:
        Name  Flags
      value1  
      value2  

  static boolean objectsAreEqual(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object obj1
        start local 1 // java.lang.Object obj2
         0: .line 186
            aload 0 /* obj1 */
            ifnonnull 3
         1: .line 187
            aload 1 /* obj2 */
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* obj1 */
            aload 1 /* obj2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object obj2
        end local 0 // java.lang.Object obj1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  obj1  Ljava/lang/Object;
            0    4     1  obj2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj1  
      obj2  

  private static void failIllegalDelta(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String delta
         0: .line 193
            new java.lang.StringBuilder
            dup
            ldc "positive delta expected but was: <"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* delta */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.junit.jupiter.api.AssertionUtils.fail:(Ljava/lang/String;)V
         1: .line 194
            return
        end local 0 // java.lang.String delta
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  delta  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      delta  
}
SourceFile: "AssertionUtils.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles