#include <bits/stdc++.h>
constexpr long long INF = 200000000000000001LL;
constexpr int INF32 = 2100000001;
size_t seed42 = std::chrono::system_clock::now().time_since_epoch().count();
std::mt19937 rng(seed42);
std::uniform_int_distribution<int> unidistrib;
int randint() { return unidistrib(rng); }
using namespace std;
unsigned long long modulo = 1000000007;
unsigned long long poww(unsigned long long x, unsigned long long n) {
  if (n == 0) return 1;
  unsigned long long answ = poww(x, n / 2);
  answ = (answ * answ) % modulo;
  if (n % 2) answ = (answ * x) % modulo;
  return answ;
}
pair<int, int> operator+(const pair<int, int>& lhs, pair<int, int>& rhs) {
  return {lhs.first + rhs.first, lhs.second + rhs.second};
}
int main() {
  ios::sync_with_stdio(false);
  std::cin.tie(0);
  int n, t, m;
  int c0, c1, h;
  cin >> t;
  while (t--) {
    cin >> n >> c0 >> c1 >> h;
    vector<char> s(n);
    int sum = 0;
    for (int i = 0; i < n; ++i) {
      cin >> s[i];
      if (s[i] == '0')
        sum += min(c0, c1 + h);
      else
        sum += min(c1, c0 + h);
    }
    cout << sum << "\n";
  }
  return 0;
}
