public void InitializeMember_BurnTokensOnMint_AssertEqual() { this.member = new Member(this.addressFactory.Create(), this.contractRegistry, this.permissionManager.Address); this.contractRegistry.RegisterContract(this.member); var mintedStrategy = new AddTokensMintedStrategyAction( string.Empty, this.member.Address, this.tokenManager.Address, new BurnTokensReceivedStrategy()); this.permissionManager.ExecuteAction(mintedStrategy); var addTokenMintPermission = new AddPermissionAction( string.Empty, this.member.Address, new Permission(typeof(TokensMintedAction)), this.tokenManager.Address); this.permissionManager.ExecuteAction(addTokenMintPermission); var addTokenBurnPermission = new AddPermissionAction( string.Empty, this.tokenManager.Address, new Permission(typeof(BurnAction)), this.member.Address); this.permissionManager.ExecuteAction(addTokenBurnPermission); var mintAction = new MintAction( string.Empty, this.tokenManager.Address, 400, this.member.Address); this.permissionManager.ExecuteAction(mintAction); Assert.Equal(0, this.tokenManager.TaggedBalanceOf(this.member.Address).TotalBalance); }
public void SplitReward_AccordingToTheHours() { var task = this.CreateTask(null); this.CreateTokenInteractionPermissions(task.Address); var mintAction = new MintAction(string.Empty, this.tokenManager.Address, 160, task.Address); this.permissionManager.ExecuteAction(mintAction); var employee1 = this.addressFactory.Create(); var employee2 = this.addressFactory.Create(); var employee3 = this.addressFactory.Create(); this.TrackHours_ReturnsSplitterTrack(employee1, task.Address, 5); this.TrackHours_ReturnsSplitterTrack(employee2, task.Address, 15); this.TrackHours_ReturnsSplitterTrack(employee3, task.Address, 20); var stageAction = new ChangeStageAction(string.Empty, task.Address, TaskStage.Finalized); this.permissionManager.ExecuteAction(stageAction); var employee1Tokens = this.tokenManager.TaggedBalanceOf(employee1).TotalBalance; var employee2Tokens = this.tokenManager.TaggedBalanceOf(employee2).TotalBalance; var employee3Tokens = this.tokenManager.TaggedBalanceOf(employee3).TotalBalance; Assert.Equal(20, employee1Tokens); Assert.Equal(60, employee2Tokens); Assert.Equal(80, employee3Tokens); }
public void ReceiveMintedTokens() { var task = this.CreateTask(null); this.CreateTokenInteractionPermissions(task.Address); var mintAction = new MintAction( string.Empty, this.tokenManager.Address, 160, task.Address); this.permissionManager.ExecuteAction(mintAction); Assert.Equal(160, task.TokenManagersToBalances[this.tokenManager.Address]); }