title: How to set up .cabal test-suite when test file and the file under test is in different folder
body: <p>I am trying to structure my simple project in a way that it's easy for me to develop in the future.  Basically I've used <code>cabal init</code> to get the basic stuff, then I created a src folder, inside that i created a main folder and a test folder, the main is for holding all source code and the test is to put all test source code. Inside .cabal I have the following:</p>
  
  <pre><code>.
  .
  .
  .
  test-suit Test
    type:           exitcode-stdio-1.0
    hs-source-dirs: src/test
    main-is:        Test.hs
    build-depends:  base
  
  executable Finance
    hs-source-dirs: src/main
    main-is:        Main.hs
    build-depends:  base
  </code></pre>
  
  <p>There are only three files Main.hs, Methods.hs, Test.hs.  The Methods.hs is imported in Main.hs to get executed, and the Test.hs imports Methods.hs and tests the methods.  My goal is to be able to do <code>cabal --enable-tests configure</code> then <code>cabal build</code> then <code>cabal test</code> then <code>cabal install</code>. But at the build stage I'm getting the error </p>
  
  <pre><code>src/test/Test.hs:2:8:
    Could not find module `Methods`
    Use -v to see a list of the files search for.
  </code></pre>
  
  <p>How do I let cabal know where Methods.hs is?  Also, is there a better way to set the project up?</p>