+my $changedmember=GetMemberDetails("",$CARDNUMBER);
+ok ( $changedmember->{firstname} eq $CHANGED_FIRSTNAME &&
+ $changedmember->{email} eq $EMAIL &&
+ $changedmember->{ethnicity} eq $ETHNICITY &&
+ $changedmember->{phone} eq $PHONE
+ , "Member Changed")
+ or diag("Mismatching member details: ".Dumper($member, $changedmember));
+
+C4::Context->set_preference( $INDEPENDENT_BRANCHES_PREF, '0' );
+C4::Context->clear_syspref_cache();
+
+my $results = Search($CARDNUMBER);
+ok (@$results == 1, "Search cardnumber returned only one result")
+ or diag("Multiple members with Card $CARDNUMBER: ".Dumper($results));
+ok (_find_member($results), "Search cardnumber")
+ or diag("Card $CARDNUMBER not found in the resultset: ".Dumper($results));
+
+my @searchstring=($SURNAME);
+$results = Search(\@searchstring);
+ok (_find_member($results), "Search (arrayref)")
+ or diag("Card $CARDNUMBER not found in the resultset: ".Dumper($results));
+
+$results = Search(\@searchstring,undef,undef,undef,["surname"]);
+ok (_find_member($results), "Surname Search (arrayref)")
+ or diag("Card $CARDNUMBER not found in the resultset: ".Dumper($results));
+
+$results = Search("$CHANGED_FIRSTNAME $SURNAME", "surname");
+ok (_find_member($results), "Full name Search (string)")
+ or diag("Card $CARDNUMBER not found in the resultset: ".Dumper($results));
+
+@searchstring=($PHONE);
+$results = Search(\@searchstring,undef,undef,undef,["phone"]);
+ok (_find_member($results), "Phone Search (arrayref)")
+ or diag("Card $CARDNUMBER not found in the resultset: ".Dumper($results));
+
+$results = Search($PHONE,undef,undef,undef,["phone"]);
+ok (_find_member($results), "Phone Search (string)")
+ or diag("Card $CARDNUMBER not found in the resultset: ".Dumper($results));
+
+C4::Context->set_preference( $INDEPENDENT_BRANCHES_PREF, '1' );
+C4::Context->clear_syspref_cache();
+
+$results = Search("$CHANGED_FIRSTNAME $SURNAME", "surname");
+ok (!_find_member($results), "Full name Search (string) for independent branches, different branch")
+ or diag("Card $CARDNUMBER found in the resultset for independent branches: ".Dumper(C4::Context->preference($INDEPENDENT_BRANCHES_PREF), $results));
+
+@searchstring=($SURNAME);
+$results = Search(\@searchstring);
+ok (!_find_member($results), "Search (arrayref) for independent branches, different branch")
+ or diag("Card $CARDNUMBER found in the resultset for independent branches: ".Dumper(C4::Context->preference($INDEPENDENT_BRANCHES_PREF), $results));
+
+$USERENV[$BRANCH_IDX] = $BRANCHCODE;
+C4::Context->set_userenv ( @USERENV );
+
+$results = Search("$CHANGED_FIRSTNAME $SURNAME", "surname");
+ok (_find_member($results), "Full name Search (string) for independent branches, same branch")
+ or diag("Card $CARDNUMBER not found in the resultset for independent branches: ".Dumper(C4::Context->preference($INDEPENDENT_BRANCHES_PREF), $results));
+
+@searchstring=($SURNAME);
+$results = Search(\@searchstring);
+ok (_find_member($results), "Search (arrayref) for independent branches, same branch")
+ or diag("Card $CARDNUMBER not found in the resultset for independent branches: ".Dumper(C4::Context->preference($INDEPENDENT_BRANCHES_PREF), $results));
+
+
+my $checkcardnum=C4::Members::checkcardnumber($CARDNUMBER, "");