@@ -82,6 +82,23 @@ fn fungibles_unbalanced_trait_should_work() {
82
82
Ok ( 5 )
83
83
) ;
84
84
assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 0 ) ;
85
+ // set reserved
86
+ assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: set_balance( DOT , & ALICE , 100 ) ) ;
87
+ assert_ok ! ( <Tokens as MultiReservableCurrency <AccountId >>:: reserve( DOT , & ALICE , 50 ) ) ;
88
+ assert_noop ! (
89
+ <Tokens as fungibles:: Unbalanced <_>>:: decrease_balance( DOT , & ALICE , 60 ) ,
90
+ ArithmeticError :: Underflow
91
+ ) ;
92
+ assert_eq ! (
93
+ <Tokens as fungibles:: Unbalanced <_>>:: decrease_balance( DOT , & ALICE , 50 ) ,
94
+ Ok ( 50 )
95
+ ) ;
96
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
97
+ assert_eq ! (
98
+ <Tokens as MultiReservableCurrency <AccountId >>:: unreserve( DOT , & ALICE , 50 ) ,
99
+ 0
100
+ ) ;
101
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
85
102
86
103
// decrease_balance_at_most
87
104
assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: set_balance( DOT , & ALICE , 10 ) ) ;
@@ -102,8 +119,26 @@ fn fungibles_unbalanced_trait_should_work() {
102
119
5
103
120
) ;
104
121
assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 0 ) ;
122
+ // set reserved
123
+ assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: set_balance( DOT , & ALICE , 100 ) ) ;
124
+ assert_ok ! ( <Tokens as MultiReservableCurrency <AccountId >>:: reserve( DOT , & ALICE , 50 ) ) ;
125
+ assert_eq ! (
126
+ <Tokens as fungibles:: Unbalanced <_>>:: decrease_balance_at_most( DOT , & ALICE , 60 ) ,
127
+ 0
128
+ ) ;
129
+ assert_eq ! (
130
+ <Tokens as fungibles:: Unbalanced <_>>:: decrease_balance_at_most( DOT , & ALICE , 50 ) ,
131
+ 50
132
+ ) ;
133
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
134
+ assert_eq ! (
135
+ <Tokens as MultiReservableCurrency <AccountId >>:: unreserve( DOT , & ALICE , 50 ) ,
136
+ 0
137
+ ) ;
138
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
105
139
106
140
// increase_balance
141
+ assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: set_balance( DOT , & ALICE , 0 ) ) ;
107
142
assert_noop ! (
108
143
<Tokens as fungibles:: Unbalanced <_>>:: increase_balance( DOT , & ALICE , 1 ) ,
109
144
TokenError :: BelowMinimum
0 commit comments