add swap non-member function tests