#include <bits/stdc++.h>
using namespace std;
constexpr long long INF = (1LL << 60);
void solve() {
  int n, a, b;
  cin >> n >> a >> b;
  string s;
  cin >> s;
  s += '0';
  vector<long long> dp(2, INF);
  dp[0] = b;
  for (int i = 0; i < n; i++) {
    vector<long long> ndp(2, INF);
    if (s[i] == '0') {
      if (s[i + 1] == '0') {
        ndp[0] = min(ndp[0], dp[0] + a + b);
        ndp[0] = min(ndp[0], dp[1] + 2 * a + b);
      }
      ndp[1] = min(ndp[1], dp[0] + 2 * a + 2 * b);
      ndp[1] = min(ndp[1], dp[1] + a + 2 * b);
    } else
      ndp[1] = min(ndp[1], dp[1] + a + 2 * b);
    dp = move(ndp);
  }
  cout << dp[0] << endl;
};
int main() {
  int t;
  cin >> t;
  while (t--) solve();
  return 0;
}
