#include #include #include "nix/util/hash.hh" #include "nix/util/tests/hash.hh" namespace rc { using namespace nix; Gen Arbitrary::arbitrary() { Hash prototype(HashAlgorithm::SHA1); return gen::apply( [](const std::vector & v) { Hash hash(HashAlgorithm::SHA1); assert(v.size() == hash.hashSize); std::copy(v.begin(), v.end(), hash.hash); return hash; }, gen::container>(prototype.hashSize, gen::arbitrary()) ); } }