#pragma once
#ifndef MESSMER_FSPP_TEST_FUSE_CREATEANDOPENFILE_TESTUTILS_FUSECREATEANDOPENTEST_H_
#define MESSMER_FSPP_TEST_FUSE_CREATEANDOPENFILE_TESTUTILS_FUSECREATEANDOPENTEST_H_

#include "../../../testutils/FuseTest.h"

class FuseCreateAndOpenTest: public FuseTest {
public:
  const char *FILENAME = "/myfile";

  int CreateAndOpenFile(const char *FILENAME, int flags);
  int CreateAndOpenFileReturnError(const char *FILENAME, int flags);
private:
  int CreateAndOpenFileAllowError(const char *FILENAME, int flags);
};

MATCHER_P(OpenFlagsEq, expectedFlags, "") {
  return expectedFlags == (O_ACCMODE & arg);
}

#endif
