Skip to content

Implement BundleResolver #77

Description

@MessiasLima

Description

Add BundleResolver to generate random android.os.Bundle instances in the :android module under dev.appoutlet.some.android.resolver.

  • Scope and constraints

    • BundleResolver creates a Bundle() and populates it with random entries using putString, putInt, putLong, putFloat, putDouble, putBoolean.
    • Entry count is random (0–5 entries).
    • Keys are random generated strings.
    • Value types are mixed randomly from the available primitives and String.
    • The constructor receives random: Random only (no strategy needed).
    • canResolve() uses exact type matching: type == typeOf<Bundle>().
    • Includes JVM unit tests verifying entry count, bundle non-nullity, non-empty keys, and canResolve behavior.
    • Follows the same patterns as simple resolvers from :core.
  • References

Scope

In scope: BundleResolver, JVM unit tests.
Out of scope: registering the resolver in AndroidTypeResolverProvider (ticket #14).

Acceptance criteria

  • BundleResolver.canResolve(typeOf<Bundle>()) returns true
  • BundleResolver.canResolve(typeOf<String>()) returns false
  • Generated bundles contain 0 to 5 entries with random keys and mixed value types
  • Generated bundles contain only valid value types (String, Int, Long, Float, Double, Boolean)
  • Entry keys are non-empty
  • Tests compile against android.jar and run as plain JVM unit tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions