{"id":25776517,"url":"https://github.com/ZieIony/RandomData","last_synced_at":"2025-02-27T06:06:40.036Z","repository":{"id":88426232,"uuid":"86386105","full_name":"ZieIony/RandomData","owner":"ZieIony","description":"Random data generator","archived":false,"fork":false,"pushed_at":"2019-12-16T00:08:51.000Z","size":15847,"stargazers_count":156,"open_issues_count":2,"forks_count":19,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-02-11T11:48:03.923Z","etag":null,"topics":["mock","random","sample","testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZieIony.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-27T21:34:27.000Z","updated_at":"2024-08-28T12:40:45.000Z","dependencies_parsed_at":"2023-04-24T22:24:54.002Z","dependency_job_id":null,"html_url":"https://github.com/ZieIony/RandomData","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZieIony%2FRandomData","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZieIony%2FRandomData/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZieIony%2FRandomData/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZieIony%2FRandomData/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZieIony","download_url":"https://codeload.github.com/ZieIony/RandomData/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240987435,"owners_count":19889334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mock","random","sample","testing"],"created_at":"2025-02-27T06:01:25.814Z","updated_at":"2025-02-27T06:06:40.031Z","avatar_url":"https://github.com/ZieIony.png","language":"Java","funding_links":[],"categories":["测试"],"sub_categories":[],"readme":"# RandomData\n\nYour test/mock screens would look much better with some real data. RandomData automatically fills your structures with generated, random names, numbers, images, etc. RandomData uses data libraries, validating algorithms and keeps track of a context to make sure that every bit of generated data is consistent and makes sense. Did you notice that a female name always comes with a picture of a woman? :)\n\nBefore you start, make sure to check out https://www.pexels.com/ - very nice site with free stock photos :)\n\n![Screenshot](https://github.com/ZieIony/RandomData/blob/master/images/screenshot.png)\n![Screenshot2](https://github.com/ZieIony/RandomData/blob/master/images/screenshot2.png)\n\n### Setup\n\nVisit [Jitpack](https://jitpack.io/#zieiony/randomdata) for installation instructions.\n    \nAdd RandomData to your project's dependencies. Select only modules you need (because of their size):\n    \n    dependencies {\n        implementation 'com.github.ZieIony.RandomData:person:-SNAPSHOT'\n    }\n\n### Usage\n\nPrepare a data class:\n\n```Java\npublic class User{\n    Drawable avatar;\n    String name, subtext, date;\n    \n    @Ignore\n    Parcelable parcelable;  // don't fill this field\n    \n    final static int TYPE_ID = 5;   // ignored automatically\n}\n```\n\nConstructor parameters don't have names on Java below 1.8. Use `RandomValue` annotation to provide names.\n\n```Kotlin\ndata class CreditCardItem(\n        @RandomValue(name = \"name\")\n        val name: String,\n        @RandomValue(name = \"number\")\n        val number: String,\n        @RandomValue(name = \"amount\")\n        val amount: String,\n        @RandomValue(name = \"image\")\n        val image: Drawable,\n        @RandomValue(name = \"validity\")\n        val validity: Validity\n) : Serializable\n```\n\nSetup RandomData with generators you need:\n\n```Java\nrandomData = new RandomData();\nrandomData.addGenerator(String.class, new StringNameGenerator(Gender.Both).withMatcher(f -\u003e f.getName().equals(\"text\") \u0026\u0026 f.getDeclaringClass().equals(DefaultAvatarTextSubtextDateItem.class) || f.getName().equals(\"name\")));\nrandomData.addGenerator(String.class, new TextGenerator().withMatcher(f -\u003e f.getName().equals(\"subtext\")));\nrandomData.addGenerator(Drawable.class, new DrawableAvatarGenerator(this));\nrandomData.addGenerator(String.class, new DateGenerator().withTransformer(new DateToStringTransformer()));\nrandomData.addGenerator(String.class, new StringCardNumberGenerator());\nrandomData.addGenerator(String.class, new StringAmountGenerator());\nrandomData.addGenerator(Drawable.class, new DrawableImageGenerator(this).withMatcher(f -\u003e f.getName().equals(\"image\")));\nrandomData.addGenerator(Validity.class, new EnumGenerator\u003c\u003e(Validity.class));\nrandomData.addGenerator(Float.class, new FloatGenerator());\n```\n\nFill or generate your objects with data. There's no need to initialize arrays:\n\n```Java\nUser[] items = new User[10];\nrandomData.fill(items);\n\nCreditCardItem creditCard = randomData.generate(CreditCardItem.class);\n```\n\n### Modules\n\n##### Common\n\n - picture\n - date\n - id\n - hash\n - lorem ipsum\n\n##### Person\n\n - avatar\n - name\n - email\n - gender\n - phone number\n - age\n \n##### Finance\n\n - amount\n - card number\n \n### FAQ\n\n##### 1. Where did you get these nice recycler rows from?\n\nIt's [Carbon](https://github.com/ZieIony/Carbon). RandomData helps me with carbon.components package.\n\n##### 2. I need a generator you don't have\n\nOpen an issue and describe your generator. I'll try to add it.\n\n##### 3. I've coded a generator. Can I make a pull request?\n\nSure thing!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZieIony%2FRandomData","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FZieIony%2FRandomData","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZieIony%2FRandomData/lists"}