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 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)); }
@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_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); }
@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); }