@SuppressLint("Assert") @Test public void testThatRuleAllowsPromptIfAppVersionNameHasChanged() { final String fakeCachedVersionName = "any string"; final String fakeCurrentVersionName = "any other string"; assert !fakeCachedVersionName.equals(fakeCurrentVersionName); final VersionNameChangedRule versionNameChangedRule = new VersionNameChangedRule(fakeCurrentVersionName); final boolean ruleShouldAllowFeedbackPrompt = versionNameChangedRule.shouldAllowFeedbackPrompt(fakeCachedVersionName); assertTrue( "Feedback prompt should be allowed if the app version name has changed", ruleShouldAllowFeedbackPrompt); }
@Override public boolean shouldAllowFeedbackPrompt(@NonNull final String cachedEventValue) { return !cachedEventValue.equals(appVersionName); }
VersionNameChangedRule implements IEventBasedRule<String> { @Override public boolean shouldAllowFeedbackPrompt(@NonNull final String cachedEventValue) { return !cachedEventValue.equals(appVersionName); } }
VersionNameChangedRule implements IEventBasedRule<String> { @Override public boolean shouldAllowFeedbackPrompt(@NonNull final String cachedEventValue) { return !cachedEventValue.equals(appVersionName); } VersionNameChangedRule(@NonNull final Context context); @VisibleForTesting(otherwise = PRIVATE)  VersionNameChangedRule(@NonNull final String appVersionName); }
VersionNameChangedRule implements IEventBasedRule<String> { @Override public boolean shouldAllowFeedbackPrompt(@NonNull final String cachedEventValue) { return !cachedEventValue.equals(appVersionName); } VersionNameChangedRule(@NonNull final Context context); @VisibleForTesting(otherwise = PRIVATE)  VersionNameChangedRule(@NonNull final String appVersionName); @Override boolean shouldAllowFeedbackPromptByDefault(); @Override boolean shouldAllowFeedbackPrompt(@NonNull final String cachedEventValue); @NonNull @Override String getDescription(); }
VersionNameChangedRule implements IEventBasedRule<String> { @Override public boolean shouldAllowFeedbackPrompt(@NonNull final String cachedEventValue) { return !cachedEventValue.equals(appVersionName); } VersionNameChangedRule(@NonNull final Context context); @VisibleForTesting(otherwise = PRIVATE)  VersionNameChangedRule(@NonNull final String appVersionName); @Override boolean shouldAllowFeedbackPromptByDefault(); @Override boolean shouldAllowFeedbackPrompt(@NonNull final String cachedEventValue); @NonNull @Override String getDescription();  }