@interface and @implementation in same file (no header file, Xcode unit test template)
<p>Xcode generates this template code for a new Objective-C test case. Why does it not generate a header file and puts the <code>@interface</code> in the implementation file?</p>

<pre><code>#import &lt;XCTest/XCTest.h&gt;

@interface BYObjCTest : XCTestCase

@end

@implementation BYObjCTest

// test methods

@end
</code></pre>

<p>How is this construct called? Is this a <strong>private class</strong>? Test cases are generally not needed to be called from outside of user code, is this the reason this is generated this way?</p>