cart ); // Test add_fee. $args = array( 'name' => 'testfee', 'amount' => 10, ); $cart_fees->add_fee( $args ); $applied_fees = $cart_fees->get_fees(); $this->assertEquals( 'testfee', $applied_fees['testfee']->name ); $this->assertEquals( 10, $applied_fees['testfee']->amount ); $this->assertEquals( 1, count( $applied_fees ) ); // Test remove_all_fees. $cart_fees->remove_all_fees(); $this->assertEquals( array(), $cart_fees->get_fees() ); // Test set_fees. $args = array( array( 'name' => 'newfee', 'amount' => -5, ), array( 'name' => 'newfee2', 'amount' => 10, 'tax_class' => 'Reduced rate', 'taxable' => true ), ); $cart_fees->set_fees( $args ); $applied_fees = $cart_fees->get_fees(); $this->assertEquals( -5, $applied_fees['newfee']->amount ); $this->assertEquals( 'Reduced rate', $applied_fees['newfee2']->tax_class ); $this->assertEquals( 2, count( $applied_fees ) ); // Clean up. WC()->cart->empty_cart(); } }