github.com/mysteriumnetwork/node@v0.0.0-20240516044423-365054f76801/session/pingpong/hermes_channel_test.go (about)

     1  /*
     2   * Copyright (C) 2020 The "MysteriumNetwork/node" Authors.
     3   *
     4   * This program is free software: you can redistribute it and/or modify
     5   * it under the terms of the GNU General Public License as published by
     6   * the Free Software Foundation, either version 3 of the License, or
     7   * (at your option) any later version.
     8   *
     9   * This program is distributed in the hope that it will be useful,
    10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
    11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12   * GNU General Public License for more details.
    13   *
    14   * You should have received a copy of the GNU General Public License
    15   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
    16   */
    17  
    18  package pingpong
    19  
    20  import (
    21  	"math/big"
    22  	"testing"
    23  
    24  	"github.com/mysteriumnetwork/payments/client"
    25  	"github.com/mysteriumnetwork/payments/crypto"
    26  	"github.com/stretchr/testify/assert"
    27  )
    28  
    29  func TestHermesChannel_balance(t *testing.T) {
    30  	channel := HermesChannel{
    31  		Channel: client.ProviderChannel{
    32  			Stake:   big.NewInt(100),
    33  			Settled: big.NewInt(10),
    34  		},
    35  		lastPromise: HermesPromise{
    36  			Promise: crypto.Promise{Amount: big.NewInt(15)},
    37  		},
    38  	}
    39  	assert.Equal(t, big.NewInt(110), channel.availableBalance())
    40  	assert.Equal(t, big.NewInt(95), channel.balance())
    41  	assert.Equal(t, big.NewInt(5), channel.UnsettledBalance())
    42  
    43  	channel = HermesChannel{
    44  		Channel: client.ProviderChannel{
    45  			Stake:   big.NewInt(100),
    46  			Settled: big.NewInt(10),
    47  		},
    48  		lastPromise: HermesPromise{
    49  			Promise: crypto.Promise{Amount: big.NewInt(16)},
    50  		},
    51  	}
    52  	assert.Equal(t, big.NewInt(110), channel.availableBalance())
    53  	assert.Equal(t, big.NewInt(94), channel.balance())
    54  	assert.Equal(t, big.NewInt(6), channel.UnsettledBalance())
    55  }