public PcpMmvWriter(ByteBufferFactory byteBufferFactory, IdentifierSourceSet identifierSources, MmvVersion mmvVersion) { this.byteBufferFactory = byteBufferFactory; this.metricInfoStore = mmvVersion.createMetricInfoStore(identifierSources, stringStore); this.instanceDomainStore = mmvVersion.createInstanceDomainStore(identifierSources, stringStore); this.mmvVersion = mmvVersion; this.metricNameValidator = mmvVersion.createMetricNameValidator(); registerType(String.class, MMV_STRING_HANDLER); }
@Test public void mmvVersion2_shouldReturnTheCorrectVersion() { assertThat(MMV_VERSION2.getVersion(), is(VERSION_2)); }
@Test public void shouldCreateAMetricNameValidatorWhenConstructed() { MmvVersion mmvVersion = mock(MmvVersion.class); new PcpMmvWriter(mock(ByteBufferFactory.class), mock(IdentifierSourceSet.class), mmvVersion); verify(mmvVersion).createMetricNameValidator(); }
@Test public void shouldCreateAMetricInfoStoreWhenConstructed() { MmvVersion mmvVersion = mock(MmvVersion.class); IdentifierSourceSet identifierSourceSet = mock(IdentifierSourceSet.class); new PcpMmvWriter(mock(ByteBufferFactory.class), identifierSourceSet, mmvVersion); verify(mmvVersion).createMetricInfoStore(eq(identifierSourceSet), any(PcpStringStore.class)); }
@Test public void shouldCreateAnInstanceDomainStoreWhenConstructed() { MmvVersion mmvVersion = mock(MmvVersion.class); IdentifierSourceSet identifierSourceSet = mock(IdentifierSourceSet.class); new PcpMmvWriter(mock(ByteBufferFactory.class), identifierSourceSet, mmvVersion); verify(mmvVersion).createInstanceDomainStore(eq(identifierSourceSet), any(PcpStringStore.class)); }
@Test public void mmvVersion1_shouldCreateAVersion1MetricValidator() { MetricNameValidator actual = MMV_VERSION1.createMetricNameValidator(); MetricNameValidator expected = new MetricNameValidator(MMV1_NAME_LIMIT, MMV1_DOMAIN_LIMIT); assertReflectionEquals(expected, actual); }
@Test public void mmvVersion2_shouldCreateAVersion2MetricStore() { IdentifierSourceSet identifierSourceSet = mock(IdentifierSourceSet.class); PcpStringStore stringStore = mock(PcpStringStore.class); Store<PcpMetricInfo> actual = MMV_VERSION2.createMetricInfoStore(identifierSourceSet, stringStore); Store<PcpMetricInfo> expected = new MetricInfoStoreV2(identifierSourceSet, stringStore); assertReflectionEquals(expected, actual); }
@Test public void mmvVersion2_shouldCreateAnInstanceDomainStoreWithVersion2InstanceStoreFactory() { IdentifierSourceSet identifierSourceSet = mock(IdentifierSourceSet.class); PcpStringStore stringStore = mock(PcpStringStore.class); Store<InstanceDomain> actual = MMV_VERSION2.createInstanceDomainStore(identifierSourceSet, stringStore); Store<InstanceDomain> expected = new InstanceDomainStore( identifierSourceSet, new InstanceStoreFactoryV2(identifierSourceSet, stringStore) ); assertReflectionEquals(expected, actual); }
@Before public void setUp() throws IOException { MockitoAnnotations.initMocks(this); when(mmvVersion.createMetricNameValidator()).thenReturn(metricNameValidator); when(mmvVersion.createInstanceDomainStore(eq(identifierSourceSet), any(PcpStringStore.class))).thenReturn(instanceDomainStore); when(mmvVersion.createMetricInfoStore(eq(identifierSourceSet), any(PcpStringStore.class))).thenReturn(metricInfoStore); when(byteBufferFactory.build(anyInt())).thenReturn(byteBuffer); pcpMmvWriter = new PcpMmvWriter(byteBufferFactory, identifierSourceSet, mmvVersion); }
@Test public void mmvVersion2_shouldCreateAVersionMetricValidator() { MetricNameValidator actual = MMV_VERSION2.createMetricNameValidator(); MetricNameValidator expected = new MetricNameValidator(MMV2_NAME_LIMIT, MMV2_INSTANCE_LIMIT); assertReflectionEquals(expected, actual); }
@Test public void mmvVersion1_shouldCreateAVersion1MetricStore() { IdentifierSourceSet identifierSourceSet = mock(IdentifierSourceSet.class); Store<PcpMetricInfo> actual = MMV_VERSION1.createMetricInfoStore(identifierSourceSet, null); Store<PcpMetricInfo> expected = new MetricInfoStoreV1(identifierSourceSet); assertReflectionEquals(expected, actual); }
@Test public void mmvVersion1_shouldCreateAnInstanceDomainStoreWithVersion1InstanceStoreFactory() { IdentifierSourceSet identifierSourceSet = mock(IdentifierSourceSet.class); Store<InstanceDomain> actual = MMV_VERSION1.createInstanceDomainStore(identifierSourceSet,null); Store<InstanceDomain> expected = new InstanceDomainStore( identifierSourceSet, new InstanceStoreFactoryV1(identifierSourceSet) ); assertReflectionEquals(expected, actual); }
@Test public void mmvVersion1_shouldReturnTheCorrectVersion() { assertThat(MMV_VERSION1.getVersion(), is(VERSION_1)); }
dataFileBuffer.putInt(mmvVersion.getVersion()); long generation = System.currentTimeMillis() / 1000; dataFileBuffer.putLong(generation);