#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
char s[N];
long long dp[N][2];
int n, a, b;
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    scanf("%d%d%d", &n, &a, &b);
    scanf("%s", s);
    dp[0][0] = b;
    dp[0][1] = 1e15;
    for (int i = 0; i < n; i++)
      if (s[i] == '0') {
        dp[i + 1][0] = min(dp[i][0] + a, dp[i][1] + a * 2) + b;
        dp[i + 1][1] = min(dp[i][1] + a, dp[i][0] + a * 2) + b * 2;
      } else {
        dp[i + 1][0] = 1e15;
        dp[i + 1][1] = dp[i][1] + b * 2 + a;
      }
    printf("%I64d\n", dp[n][0]);
  }
  return 0;
}
