Computer >> Máy Tính >  >> Lập trình >> C ++

Tạo các trường hợp kiểm tra (create () và create_n () trong C ++


Trong phần này, chúng ta sẽ xem cách chúng ta có thể sử dụng hàm STL của C ++ để tạo các trường hợp thử nghiệm. Đôi khi việc tạo các trường hợp kiểm thử cho các chương trình mảng có thể là một quá trình rất phức tạp và không hiệu quả. C ++ cung cấp hai phương pháp để tạo các trường hợp thử nghiệm. Các phương pháp này như sau -

Phương thức create ()

Hàm C ++ std ::giải thuật ::create () chỉ định giá trị được trả về bởi các lệnh gọi gen liên tiếp cho các phần tử trong phạm vi từ đầu đến cuối. Nó nhận ba tham số đầu tiên, cuối cùng và gen, đây là trình vòng lặp chuyển tiếp đến vị trí ban đầu, trình vòng lặp lùi tới vị trí cuối cùng và hàm trình tạo được gọi mà không có đối số và trả về giá trị.

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;
int create_random() {
   return (rand() % 1000);
}
int main () {
   srand(time(NULL));
   vector<int> data(15);
   generate(data.begin(), data.end(), create_random);
   for (int i=0; i<data.size(); i++)
      cout << data[i] << " " ;
}

Đầu ra

449 180 785 629 547 912 581 520 534 778 670 302 345 965 107

Phương thức create_n ()

Hàm C ++ std ::giải thuật ::create_n () chỉ định giá trị được trả về bởi các lệnh gọi liên tiếp tới gen cho n phần tử đầu tiên. Nó cần ba tham số đầu tiên, n và gen, những tham số này là trình vòng lặp chuyển tiếp đến vị trí ban đầu, số lượng lệnh gọi sẽ ở đó và hàm trình tạo được gọi mà không có đối số và trả về giá trị.

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;
int create_random() {
   return (rand() % 1000);
}
int main () {
   srand(time(NULL));
   vector<int> data(15);
   generate_n(data.begin(), 6, create_random);
   for (int i=0; i<data.size(); i++)
      cout << data[i] << " " ;
}

Đầu ra

540 744 814 771 254 913 0 0 0 0 0 0 0 0 0