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