### Question:
BitcoinData { public BitcoinData(NETWORK network, List<String> addressList, Encryptor encryptor, Compressor compressor) throws UnknownDataException, AddressChecksumNotMatchException, NetworkNotMatchException, DataNotFoundException, BitcoinDataNotMatchingLengthException, BitcoinInvalidAddressException { this.network = network; this.addressList = addressList; this.encryptor = encryptor; this.compressor = compressor; this.setData(); if (null != this.compressor) { this.data = this.compressor.decompress(this.data); } if (null != this.encryptor) { this.data = this.encryptor.decrypt(this.data); } } BitcoinData(NETWORK network, List<String> addressList, Encryptor encryptor, Compressor compressor);  BitcoinData(NETWORK network, byte data[], DATA_TYPE type, Encryptor encryptor, Compressor compressor);  BitcoinData(NETWORK network, InputStream stream, DATA_TYPE type, Encryptor encryptor, Compressor compressor);   }### Answer:
@Test public void testBitcoinData() throws DataOverSizeException, NetworkNotMatchException, AddressChecksumNotMatchException, UnknownDataException, BitcoinDataNotMatchingLengthException, DataNotFoundException, BitcoinInvalidAddressException { BitcoinData testResult = new BitcoinData(NETWORK.TEST, this.testData.getBytes(), DATA_TYPE.TEXT, null, null); List<String> addressList = testResult.getAddressList(); Assert.assertNotNull(addressList); BitcoinData verifyResult = new BitcoinData(NETWORK.TEST, addressList, null, null); Assert.assertNotNull(verifyResult); Assert.assertEquals(this.testData, new String(verifyResult.getData())); }