{
  "_id": "6acb451cfe5cc25786e8d2f1",
  "Package": "hedgehog",
  "Type": "Package",
  "Title": "Property-Based Testing",
  "Version": "0.2",
  "Date": "2025-11-01",
  "Authors@R": "person(\"Huw\", \"Campbell\", email = \"huw.campbell@gmail.com\",\nrole = c(\"aut\", \"cre\"))",
  "Description": "Hedgehog will eat all your bugs. 'Hedgehog' is a\nproperty-based testing package in the spirit of 'QuickCheck'.\nWith 'Hedgehog', one can test properties of their programs\nagainst randomly generated input, providing far superior test\ncoverage compared to unit testing. One of the key benefits of\n'Hedgehog' is integrated shrinking of counterexamples, which\nallows one to quickly find the cause of bugs, given salient\nexamples when incorrect behaviour occurs.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/hedgehogqa",
  "BugReports": "https://github.com/hedgehogqa/r-hedgehog/issues",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.1.1",
  "Config/pak/sysreqs": "cmake make libuv1-dev",
  "Repository": "https://hedgehogqa.r-universe.dev",
  "Date/Publication": "2025-11-03 09:34:29 UTC",
  "RemoteUrl": "https://github.com/hedgehogqa/r-hedgehog",
  "RemoteRef": "HEAD",
  "RemoteSha": "5a077306742ec8d53ad307ce378938a9080de073",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-11 07:55:16 UTC",
    "User": "root"
  },
  "Author": "Huw Campbell [aut, cre]",
  "Maintainer": "Huw Campbell <huw.campbell@gmail.com>",
  "_user": "hedgehogqa",
  "_type": "src",
  "_file": "hedgehog_0.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/b6ac3f98439a6d2b1c9f53efc7d8a8249c651b7abc7c73a8baaaf53df1d14fcc",
  "_filesize": 258431,
  "_sha256": "b6ac3f98439a6d2b1c9f53efc7d8a8249c651b7abc7c73a8baaaf53df1d14fcc",
  "_expires": "2027-01-19T08:13:14.000Z",
  "_created": "2026-10-11T07:55:16.000Z",
  "_published": "2026-10-11T08:13:16.198Z",
  "_buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114421467329,
      "time": 114,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11695783535"
    },
    {
      "job": 114421467222,
      "time": 118,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11696600577"
    },
    {
      "job": 114421467195,
      "time": 161,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11696601590"
    },
    {
      "job": 114421467242,
      "time": 185,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11696093054"
    },
    {
      "job": 114421022643,
      "time": 157,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11696490559"
    },
    {
      "job": 114421467255,
      "time": 108,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11695858265"
    },
    {
      "job": 114421467277,
      "time": 84,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11696575565"
    },
    {
      "job": 114421467214,
      "time": 73,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11695713477"
    },
    {
      "job": 114421467257,
      "time": 75,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11696266041"
    }
  ],
  "_upstream": "https://github.com/hedgehogqa/r-hedgehog",
  "_commit": {
    "id": "5a077306742ec8d53ad307ce378938a9080de073",
    "author": "Huw Campbell <hcampbell@simplemachines.com.au>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #23 from hedgehogqa/topic/version-0.2\n\n",
    "time": 1762162469
  },
  "_maintainer": {
    "name": "Huw Campbell",
    "email": "huw.campbell@gmail.com",
    "login": "huwcampbell",
    "bluesky": "@huwcampbell.com",
    "description": "",
    "uuid": 5205457
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "testthat",
      "role": "Depends"
    },
    {
      "package": "rlang",
      "version": ">= 0.1.6",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "hedgehogqa",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-44",
      "n": 1
    },
    {
      "week": "2025-45",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 62,
  "_contributors": [
    {
      "user": "huwcampbell",
      "count": 62,
      "uuid": 5205457
    },
    {
      "user": "hadley",
      "count": 2,
      "uuid": 4196
    },
    {
      "user": "assignuser",
      "count": 2,
      "uuid": 16141871
    },
    {
      "user": "moodmosaic",
      "count": 1,
      "uuid": 287532
    }
  ],
  "_userbio": {
    "uuid": 25621930,
    "type": "organization",
    "name": "Hedgehog",
    "followers": 19,
    "description": "Release with confidence."
  },
  "_downloads": {
    "count": 1167,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/hedgehog"
  },
  "_devurl": "https://github.com/hedgehogqa/r-hedgehog",
  "_searchresults": 86,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/hedgehog.html",
    "extra/manual.pdf",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/hedgehogqa/r-hedgehog",
  "_realowner": "hedgehogqa",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1",
      "date": "2018-08-22"
    },
    {
      "version": "0.2",
      "date": "2025-11-03"
    }
  ],
  "_exports": [
    "command",
    "discard",
    "expect_sequential",
    "forall",
    "gen.actions",
    "gen.and_then",
    "gen.beta",
    "gen.bind",
    "gen.c",
    "gen.choice",
    "gen.date",
    "gen.element",
    "gen.example",
    "gen.gamma",
    "gen.impure",
    "gen.int",
    "gen.list",
    "gen.map",
    "gen.no.shrink",
    "gen.pure",
    "gen.recursive",
    "gen.run",
    "gen.sample",
    "gen.sample.int",
    "gen.shrink",
    "gen.sized",
    "gen.structure",
    "gen.subsequence",
    "gen.unif",
    "gen.with",
    "generate",
    "shrink.halves",
    "shrink.list",
    "shrink.removes",
    "shrink.towards"
  ],
  "_help": [
    {
      "page": "command",
      "title": "State based testing commands",
      "topics": [
        "command"
      ]
    },
    {
      "page": "discard",
      "title": "Discard a test case",
      "topics": [
        "discard"
      ]
    },
    {
      "page": "expect_sequential",
      "title": "Execute a state machine model",
      "topics": [
        "expect_sequential"
      ]
    },
    {
      "page": "forall",
      "title": "Hedgehog property test",
      "topics": [
        "forall"
      ]
    },
    {
      "page": "gen-element",
      "title": "Random Sample Generation",
      "topics": [
        "gen-element",
        "gen.choice",
        "gen.element",
        "gen.int",
        "gen.sample",
        "gen.sample.int",
        "gen.subsequence"
      ]
    },
    {
      "page": "gen-monad",
      "title": "Generators",
      "topics": [
        "gen",
        "gen-monad",
        "gen.and_then",
        "gen.bind",
        "gen.impure",
        "gen.map",
        "gen.pure",
        "gen.with"
      ]
    },
    {
      "page": "gen.actions",
      "title": "Generate a list of possible actions.",
      "topics": [
        "gen.actions"
      ]
    },
    {
      "page": "gen.beta",
      "title": "Generate a float with a gamma distribution",
      "topics": [
        "gen.beta"
      ]
    },
    {
      "page": "gen.c",
      "title": "Generate a vector of values from a generator",
      "topics": [
        "gen.c"
      ]
    },
    {
      "page": "gen.date",
      "title": "Generate a date between the from and to dates specified.",
      "topics": [
        "gen.date"
      ]
    },
    {
      "page": "gen.example",
      "title": "Sample from a generator.",
      "topics": [
        "gen.example"
      ]
    },
    {
      "page": "gen.gamma",
      "title": "Generate a float with a gamma distribution",
      "topics": [
        "gen.gamma"
      ]
    },
    {
      "page": "gen.list",
      "title": "Generate a list of values, with length bounded by the size parameter.",
      "topics": [
        "gen.list"
      ]
    },
    {
      "page": "gen.no.shrink",
      "title": "Stop a generator from shrinking",
      "topics": [
        "gen.no.shrink"
      ]
    },
    {
      "page": "gen.recursive",
      "title": "Build recursive structures in a way that guarantees termination.",
      "topics": [
        "gen.recursive"
      ]
    },
    {
      "page": "gen.run",
      "title": "Run a generator",
      "topics": [
        "gen.run"
      ]
    },
    {
      "page": "gen.shrink",
      "title": "Helper to create a generator with a shrink function.",
      "topics": [
        "gen.shrink"
      ]
    },
    {
      "page": "gen.sized",
      "title": "Sized generator creation",
      "topics": [
        "gen.sized"
      ]
    },
    {
      "page": "gen.structure",
      "title": "Generate a structure",
      "topics": [
        "gen.structure"
      ]
    },
    {
      "page": "gen.unif",
      "title": "Generate a float between the from and to the values specified.",
      "topics": [
        "gen.unif"
      ]
    },
    {
      "page": "generate",
      "title": "Compose generators",
      "topics": [
        "generate"
      ]
    },
    {
      "page": "hedgehog",
      "title": "Property based testing in R",
      "topics": [
        "hedgehog"
      ]
    },
    {
      "page": "shrink.halves",
      "title": "Shrink a number by dividing it into halves.",
      "topics": [
        "shrink.halves"
      ]
    },
    {
      "page": "shrink.list",
      "title": "Shrink a list by edging towards the empty list.",
      "topics": [
        "shrink.list"
      ]
    },
    {
      "page": "shrink.removes",
      "title": "Produce permutations of removing num elements from a list.",
      "topics": [
        "shrink.removes"
      ]
    },
    {
      "page": "shrink.towards",
      "title": "Shrink an integral number by edging towards a destination.",
      "topics": [
        "shrink.towards"
      ]
    },
    {
      "page": "symbolic",
      "title": "A symbolic value.",
      "topics": [
        "symbolic"
      ]
    },
    {
      "page": "tree",
      "title": "Lazy rose trees",
      "topics": [
        "tree",
        "tree.bind",
        "tree.expand",
        "tree.liftA2",
        "tree.map",
        "tree.sequence",
        "tree.unfold",
        "tree.unfoldForest"
      ]
    },
    {
      "page": "tree.replicate",
      "title": "Creating trees of lists",
      "topics": [
        "tree.replicate",
        "tree.replicateS"
      ]
    }
  ],
  "_readme": "https://github.com/hedgehogqa/r-hedgehog/raw/HEAD/README.md",
  "_rundeps": [
    "brio",
    "callr",
    "cli",
    "crayon",
    "desc",
    "diffobj",
    "evaluate",
    "fs",
    "glue",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "otel",
    "pkgbuild",
    "pkgload",
    "praise",
    "processx",
    "ps",
    "R6",
    "rlang",
    "rprojroot",
    "testthat",
    "waldo",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "state-machines.Rmd",
      "filename": "state-machines.html",
      "title": "Hedgehog - State Machine Testing",
      "author": "Huw Campbell",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2017-10-09 22:36:14",
      "modified": "2025-11-03 09:34:29",
      "commits": 4
    },
    {
      "source": "hedgehog.Rmd",
      "filename": "hedgehog.html",
      "title": "Hedgehog - Property Testing in R",
      "author": "Huw Campbell",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Features",
        "Example",
        "Generators",
        "State Machine Testing"
      ],
      "created": "2017-10-09 22:36:14",
      "modified": "2025-11-03 09:34:29",
      "commits": 5
    }
  ],
  "_score": 8.049233501890498,
  "_indexed": true,
  "_nocasepkg": "hedgehog",
  "_universes": [
    "hedgehogqa",
    "huwcampbell"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2",
      "date": "2026-10-11T07:57:04.000Z",
      "distro": "resolute",
      "commit": "5a077306742ec8d53ad307ce378938a9080de073",
      "fileid": "https://r2.ropensci.org/ebb638401ce94fce841ef998fdf177a307b47701e1e2cc3b6dc4e7bbf3e37c85",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2",
      "date": "2026-10-11T07:57:06.000Z",
      "distro": "resolute",
      "commit": "5a077306742ec8d53ad307ce378938a9080de073",
      "fileid": "https://r2.ropensci.org/4d0685b69215320f8679fa93226e606a7165f2422eaf626aa3d8c9290cd8ccc1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2",
      "date": "2026-10-11T08:06:46.000Z",
      "commit": "5a077306742ec8d53ad307ce378938a9080de073",
      "fileid": "https://r2.ropensci.org/c112acd94041ea4f358acb016f8977d4e39513ec1e49ffc78755e77884366ae0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.2",
      "date": "2026-10-11T08:11:45.000Z",
      "commit": "5a077306742ec8d53ad307ce378938a9080de073",
      "fileid": "https://r2.ropensci.org/c4fc0fa692ce809cd7797b452f782ab3ab3517f82ad21fa277a8322f90955f9a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2",
      "date": "2026-10-11T07:57:19.000Z",
      "commit": "5a077306742ec8d53ad307ce378938a9080de073",
      "fileid": "https://r2.ropensci.org/729aa3ce155c4f78595869affb16cb00dc29b95a14a9f2afaf8362c5b663f4e5",
      "status": "success",
      "buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2",
      "date": "2026-10-11T07:56:29.000Z",
      "commit": "5a077306742ec8d53ad307ce378938a9080de073",
      "fileid": "https://r2.ropensci.org/ca3f8ef2558f38a81354f0df1e1160f18be80c7f5d103818abd77133ccd4c60a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2",
      "date": "2026-10-11T07:56:15.000Z",
      "commit": "5a077306742ec8d53ad307ce378938a9080de073",
      "fileid": "https://r2.ropensci.org/2de8dbf32ad50fbf5e6ddaf87a24c8cab4f4575d0424641608eff26e0ca0081a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2",
      "date": "2026-10-11T07:56:17.000Z",
      "commit": "5a077306742ec8d53ad307ce378938a9080de073",
      "fileid": "https://r2.ropensci.org/e9e234dc41e13f5632910c0b0a2d8ac7e46d1db1d4f8704c8d32ca9ad8f64d61",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/hedgehogqa/actions/runs/38122848259"
    }
  ]
}