### Question:
FileBasedProctorStore implements ProctorStore { @Override public final TestMatrixVersion getTestMatrix(final String fetchRevision) throws StoreException { long start = System.currentTimeMillis(); final TestVersionResult result = core.determineVersions(fetchRevision); if (LOGGER.isDebugEnabled()) { final long elapsed = System.currentTimeMillis() - start; LOGGER.debug(String.format("Took %d ms to identify %d potential tests", elapsed, result.getTests().size())); } if (result == null) { LOGGER.error("Unable to determine tests for " + core.toString()); return null; } final TestMatrixVersion tmv = new TestMatrixVersion(); final Map<String, TestDefinition> testDefinitions = Maps.newLinkedHashMap(); start = System.currentTimeMillis(); for (final TestVersionResult.Test testDefFile : result.getTests()) { final long startForTest = System.currentTimeMillis(); final TestDefinition testDefinition = getTestDefinition(testDefFile.getTestName(), testDefFile.getRevision()); if (LOGGER.isTraceEnabled()) { final long elapsed = System.currentTimeMillis() - startForTest; LOGGER.trace(String.format( "Took %d ms to load %s (r%s) %s", elapsed, testDefFile.getTestName(), testDefFile.getRevision(), testDefinition == null ? "unsuccessfully" : "successfully")); } if (testDefinition == null) { LOGGER.info("Returning null TestMatrix because " + testDefFile.getTestName() + " returned null test-definition."); return null; } testDefinitions.put(testDefFile.getTestName(), testDefinition); } if (LOGGER.isDebugEnabled()) { final long elapsed = System.currentTimeMillis() - start; LOGGER.debug(String.format("Took %d ms to load all %d tests", elapsed, testDefinitions.size())); } final TestMatrixDefinition tmd = new TestMatrixDefinition(); tmd.setTests(testDefinitions); tmv.setTestMatrixDefinition(tmd); tmv.setPublished(result.getPublished()); tmv.setAuthor(result.getAuthor()); tmv.setVersion(result.getVersion()); tmv.setDescription(result.getDescription()); return tmv; } protected  FileBasedProctorStore(final FileBasedPersisterCore core, final String testDefinitionsDirectory); protected  FileBasedProctorStore(final FileBasedPersisterCore core); @Override TestMatrixVersion getCurrentTestMatrix(); @Export(name="core", doc="") FileBasedPersisterCore getCore(); @Override final TestMatrixVersion getTestMatrix(final String fetchRevision); @Override TestDefinition getCurrentTestDefinition(final String testName); @Override TestDefinition getTestDefinition(final String testName, final String fetchRevision); void shutdown(); @Override void close(); @Override final void updateTestDefinition(
            final ChangeMetadata changeMetadata,
            final String previousVersion,
            final String testName,
            final TestDefinition testDefinition,
            final Map<String, String> metadata
    ); @Override final void addTestDefinition(
            final ChangeMetadata changeMetadata,
            final String testName,
            final TestDefinition testDefinition,
            final Map<String, String> metadata
    ); @Override final void deleteTestDefinition(
            final ChangeMetadata changeMetadata,
            final String previousVersion,
            final String testName,
            final TestDefinition testDefinition
    ); static final String DEFAULT_TEST_DEFINITIONS_DIRECTORY; }### Answer:
@Test public void getTestMatrixNoTests() throws StoreException { final TestVersionResult versionStub = new TestVersionResult( Collections.<TestVersionResult.Test>emptyList(), new Date(), "fooAuthor", "fooVersion", "fooDescription"); expect(coreMock.determineVersions( R0_REVISION )) .andReturn(versionStub) .once(); replay(coreMock); final TestMatrixVersion result = store.getTestMatrix(R0_REVISION); assertNotNull(result); assertEquals(versionStub.getAuthor(), result.getAuthor()); assertEquals(versionStub.getDescription(), result.getDescription()); assertEquals(versionStub.getVersion(), result.getVersion()); assertEquals(versionStub.getPublished(), result.getPublished()); }