### Question:
IntercomMetricCollector implements MetricCollector { @Override public void createOrganisation(final MetricOrganisation organisation) { if (organisation == null) { return; } final Company company = new Company(); company.setCompanyID(organisation.id()); company.setName(organisation.name()); final long remoteCreatedAtTimestampInSeconds = organisation.createdAt().getMillis() / 1000; company.setRemoteCreatedAt(remoteCreatedAtTimestampInSeconds); try { logger.debug("Creating Intercom company: {}", company); Company.create(company); } catch (final Exception e) { logger.warn("Error creating an Intercom company: {} - {}", company, e.getMessage()); } } IntercomMetricCollector(final String personalAccessToken); @Override void createOrganisation(final MetricOrganisation organisation); @Override void updateOrganisation(final MetricOrganisation organisation); @Override void tagOrganisation(final String tagName, final MetricOrganisation metricOrganisation); @Override void createUser(final MetricUser user); @Override void updateUser(final MetricUser user); @Override void addCustomAttributesToUser(final String userId, final Map<String, Object> customAttributes); @Override void addOrganisationToUser(final String userId, final String organisationId); @Override void removeOrganisationFromUser(final String userId, final String organisationId); @Override void deleteUser(final String userId); @Override void sendMetric(final Metric metric); @Override MetricUser getUser(final String userId); @Override void convertExistingContactToUser(final String contactId, final MetricUser metricUser);  }### Answer:
@Test public void shouldCreateIntercomCompany_withMetricOrganisation() throws Exception { final MetricOrganisation metricOrganisation = randomMetricOrganisationWithCreatedAt(); final long expectedRemoteCreatedAt = metricOrganisation.createdAt().getMillis() / 1000; intercomMetricCollector.createOrganisation(metricOrganisation); final ArgumentCaptor<Company> companyCaptor = ArgumentCaptor.forClass(Company.class); verifyStatic(Company.class); Company.create(companyCaptor.capture()); final Company company = companyCaptor.getValue(); assertThat(company.getCompanyID(), is(metricOrganisation.id())); assertThat(company.getName(), is(metricOrganisation.name())); assertThat(company.getRemoteCreatedAt(), is(expectedRemoteCreatedAt)); }