RandTestUtils.t.sol 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // SPDX-License-Identifier: Apache 2
  2. pragma solidity ^0.8.0;
  3. import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
  4. import "forge-std/Test.sol";
  5. contract RandTestUtils is Test {
  6. uint randSeed;
  7. function setRandSeed(uint seed) internal {
  8. randSeed = seed;
  9. }
  10. function getRandBytes32() internal returns (bytes32) {
  11. unchecked {
  12. randSeed++;
  13. }
  14. return keccak256(abi.encode(randSeed));
  15. }
  16. function getRandUint() internal returns (uint) {
  17. return uint(getRandBytes32());
  18. }
  19. function getRandUint64() internal returns (uint64) {
  20. return uint64(getRandUint());
  21. }
  22. function getRandInt64() internal returns (int64) {
  23. return int64(getRandUint64());
  24. }
  25. function getRandUint32() internal returns (uint32) {
  26. return uint32(getRandUint());
  27. }
  28. function getRandInt32() internal returns (int32) {
  29. return int32(getRandUint32());
  30. }
  31. function getRandUint8() internal returns (uint8) {
  32. return uint8(getRandUint());
  33. }
  34. function getRandInt8() internal returns (int8) {
  35. return int8(getRandUint8());
  36. }
  37. }