public void InitializationTest_NonNullParams_ShouldSuccess() { var pool = new Coinium.Mining.Pools.Pool( _hashAlgorithmFactory, _serverFactory, _serviceFactory, _daemonClient, _minerManagerFactory, _jobTrackerFactory, _jobManagerFactory, _shareManagerFactory, _storageManagerFactory, _globalConfigFactory); pool.Should().Not.Be.Null(); pool.InstanceId.Should().Be.GreaterThan((UInt32)0); // pool-config mockup. var config = Substitute.For<IPoolConfig>(); config.Daemon.Valid.Returns(true); // initialize hash algorithm var hashAlgorithm = Substitute.For<IHashAlgorithm>(); _hashAlgorithmFactory.Get(config.Coin.Algorithm).Returns(hashAlgorithm); // initialize the miner manager. _minerManagerFactory.Get(_daemonClient); // initialize storage manager _storageManagerFactory.Get(Storages.Redis); // initialize the job tracker _jobTrackerFactory.Get(); // initialize share manager. _shareManagerFactory.Get(_daemonClient, _jobTracker, _storage).Returns(_shareManager); // initalize job manager. _jobManagerFactory.Get(_daemonClient, _jobTracker, _shareManager, _minerManager, hashAlgorithm).Returns(_jobManager); _jobManager.Initialize(pool.InstanceId); // init daemon client _daemonClient.Initialize(config.Daemon); // init server _serverFactory.Get(Services.Stratum, pool, _minerManager, _jobManager).Returns(_miningServer); // init service _serviceFactory.Get(Services.Stratum, _shareManager, _daemonClient).Returns(_rpcService); // initalize the server. _miningServer.Initialize(config.Stratum); // initialize the pool. pool.Initialize(config); }
public void ConstructorTest_NonNullParams_ShouldSucceed() { var pool = new Coinium.Mining.Pools.Pool( _hashAlgorithmFactory, _serverFactory, _serviceFactory, _daemonClient, _minerManagerFactory, _jobTrackerFactory, _jobManagerFactory, _shareManagerFactory, _storageManagerFactory, _globalConfigFactory); pool.Should().Not.Be.Null(); pool.InstanceId.Should().Be.GreaterThan((UInt32)0); }