test_class.file: filter-service-core/src/test/java/cn/leancloud/filter/service/ExpirableBloomFilterConfigTest.java
test_class.identifier: ExpirableBloomFilterConfigTest
test_case.body: @Test
      public void testEquals() {
          final int validPeriod = ThreadLocalRandom.current().nextInt(0, Integer.MAX_VALUE);
          final double fpp = ThreadLocalRandom.current().nextDouble(0.0001, 1);
          final int expectedInsertions = ThreadLocalRandom.current().nextInt(1, Integer.MAX_VALUE);
          final ExpirableBloomFilterConfig filterA = new ExpirableBloomFilterConfig()
                  .setValidPeriodAfterCreate(Duration.ofSeconds(validPeriod))
                  .setFpp(fpp)
                  .setExpectedInsertions(expectedInsertions);
  
          final ExpirableBloomFilterConfig filterB = new ExpirableBloomFilterConfig()
                  .setValidPeriodAfterCreate(Duration.ofSeconds(validPeriod))
                  .setFpp(fpp)
                  .setExpectedInsertions(expectedInsertions);
  
          assertThat(filterA).isEqualTo(filterB);
      }
test_case.class_method_signature: ExpirableBloomFilterConfigTest.testEquals()
test_case.full_signature: @Test public void testEquals()
test_case.identifier: testEquals
test_case.invocations: nextInt current nextDouble current nextInt current setExpectedInsertions setFpp setValidPeriodAfterCreate ofSeconds setExpectedInsertions setFpp setValidPeriodAfterCreate ofSeconds isEqualTo assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEquals()
focal_class.declarator: validPeriodAfterCreate
focal_class.modifier: private
focal_class.original_string: private Duration validPeriodAfterCreate;
focal_class.type: Duration
focal_class.var_name: validPeriodAfterCreate
focal_class.declarator: validPeriodAfterAccess
focal_class.modifier: @Nullable
      private
focal_class.original_string: @Nullable
      private Duration validPeriodAfterAccess;
focal_class.type: Duration
focal_class.var_name: validPeriodAfterAccess
focal_class.file: filter-service-core/src/main/java/cn/leancloud/filter/service/ExpirableBloomFilterConfig.java
focal_class.identifier: ExpirableBloomFilterConfig
focal_class.class_method_signature: ExpirableBloomFilterConfig.ExpirableBloomFilterConfig()
focal_class.full_signature:   ExpirableBloomFilterConfig()
focal_class.identifier: ExpirableBloomFilterConfig
focal_class.parameters: ()
focal_class.signature:  ExpirableBloomFilterConfig()
focal_class.class_method_signature: ExpirableBloomFilterConfig.ExpirableBloomFilterConfig(int expectedInsertions, double fpp)
focal_class.full_signature:   ExpirableBloomFilterConfig(int expectedInsertions, double fpp)
focal_class.identifier: ExpirableBloomFilterConfig
focal_class.parameters: (int expectedInsertions, double fpp)
focal_class.signature:  ExpirableBloomFilterConfig(int expectedInsertions, double fpp)
focal_class.class_method_signature: ExpirableBloomFilterConfig.ExpirableBloomFilterConfig(ExpirableBloomFilterConfig config)
focal_class.full_signature:   ExpirableBloomFilterConfig(ExpirableBloomFilterConfig config)
focal_class.identifier: ExpirableBloomFilterConfig
focal_class.parameters: (ExpirableBloomFilterConfig config)
focal_class.signature:  ExpirableBloomFilterConfig(ExpirableBloomFilterConfig config)
focal_class.class_method_signature: ExpirableBloomFilterConfig.validPeriodAfterCreate()
focal_class.full_signature:  Duration validPeriodAfterCreate()
focal_class.identifier: validPeriodAfterCreate
focal_class.parameters: ()
focal_class.return: Duration
focal_class.signature: Duration validPeriodAfterCreate()
focal_class.class_method_signature: ExpirableBloomFilterConfig.setValidPeriodAfterCreate(Duration validPeriod)
focal_class.full_signature:  ExpirableBloomFilterConfig setValidPeriodAfterCreate(Duration validPeriod)
focal_class.identifier: setValidPeriodAfterCreate
focal_class.parameters: (Duration validPeriod)
focal_class.return: ExpirableBloomFilterConfig
focal_class.signature: ExpirableBloomFilterConfig setValidPeriodAfterCreate(Duration validPeriod)
focal_class.class_method_signature: ExpirableBloomFilterConfig.validPeriodAfterAccess()
focal_class.full_signature: @Nullable Duration validPeriodAfterAccess()
focal_class.identifier: validPeriodAfterAccess
focal_class.modifiers: @Nullable
focal_class.parameters: ()
focal_class.return: Duration
focal_class.signature: Duration validPeriodAfterAccess()
focal_class.class_method_signature: ExpirableBloomFilterConfig.setValidPeriodAfterAccess(Duration validPeriod)
focal_class.full_signature:  ExpirableBloomFilterConfig setValidPeriodAfterAccess(Duration validPeriod)
focal_class.identifier: setValidPeriodAfterAccess
focal_class.parameters: (Duration validPeriod)
focal_class.return: ExpirableBloomFilterConfig
focal_class.signature: ExpirableBloomFilterConfig setValidPeriodAfterAccess(Duration validPeriod)
focal_class.class_method_signature: ExpirableBloomFilterConfig.expiration(ZonedDateTime creation)
focal_class.full_signature:  ZonedDateTime expiration(ZonedDateTime creation)
focal_class.identifier: expiration
focal_class.parameters: (ZonedDateTime creation)
focal_class.return: ZonedDateTime
focal_class.signature: ZonedDateTime expiration(ZonedDateTime creation)
focal_class.class_method_signature: ExpirableBloomFilterConfig.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: ExpirableBloomFilterConfig.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: ExpirableBloomFilterConfig.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: ExpirableBloomFilterConfig.self()
focal_class.full_signature: @Override protected ExpirableBloomFilterConfig self()
focal_class.identifier: self
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: ExpirableBloomFilterConfig
focal_class.signature: ExpirableBloomFilterConfig self()
focal_class.superclass: extends AbstractBloomFilterConfig<ExpirableBloomFilterConfig>
focal_method.body: @Override
      public boolean equals(Object o) {
          if (this == o) return true;
          if (o == null || getClass() != o.getClass()) return false;
          if (!super.equals(o)) return false;
          final ExpirableBloomFilterConfig that = (ExpirableBloomFilterConfig) o;
          return validPeriodAfterCreate.equals(that.validPeriodAfterCreate) &&
                  (validPeriodAfterAccess == null || validPeriodAfterAccess.equals(that.validPeriodAfterAccess));
      }
focal_method.class_method_signature: ExpirableBloomFilterConfig.equals(Object o)
focal_method.full_signature: @Override public boolean equals(Object o)
focal_method.identifier: equals
focal_method.invocations: getClass getClass equals equals equals
focal_method.modifiers: @Override public
focal_method.parameters: (Object o)
focal_method.return: boolean
focal_method.signature: boolean equals(Object o)