I don't think that is true.  It should only be true if the file was created and never written to, e.g. by the creat(2) system call.  I think its legal for close(2) to update the mtime of a file after it was opened for writing, where the open call set the ctime.  So I don't think we should rely on this assumption in our unit test.

However, we should be able to rely on mtime being >= ctime.