public BlocksStorageTests() { var builder = new ConfigurationBuilder(); builder.AddInMemoryCollection(new Dictionary <string, string>() { { "Zcoin:Network:Type", "Regtest" } }); this.config = builder.Build(); this.dbFactory = new TestMainDatabaseFactory(); this.subject = new BlocksStorage(this.config, this.dbFactory); }
public async Task AddAsync_WithValidMtpBlock_ShouldSuccess() { // Arrange. var builder = new ConfigurationBuilder(); builder.AddInMemoryCollection(new Dictionary <string, string>() { { "Zcoin:Network:Type", "Mainnet" } // We cannot use Regtest since MTP is never activated. }); var config = builder.Build(); var subject = new BlocksStorage(config, this.dbFactory, this.exodusEncoder.Object); var block = Block.CreateBlock(ZcoinNetworks.Instance.Mainnet); block.Header.BlockTime = new DateTimeOffset( year: 2019, month: 5, day: 31, hour: 21, minute: 38, second: 5, offset: TimeSpan.Zero ); block.Header.SetMtpVersion(99); block.Header.SetMtpHashValue(new uint256(1)); block.Header.SetReserved1(new uint256(2)); block.Header.SetReserved2(new uint256(3)); // Act. await subject.AddAsync(block, 0, CancellationToken.None); // Assert. var(saved, _) = await subject.GetAsync(block.GetHash(), CancellationToken.None); Assert.NotNull(saved); Assert.Equal(block.GetHash(), saved.GetHash()); }