У меня есть класс, который инкапсулирует std :: list в c ++
class A {
string toSelect;
list<CustomObject1> lst;
list<CustomObject2> lst1;
}
У меня есть другой класс Process
, который возвращает объект A в одном из его методов.
A Process::do() {
// ...
// ...
CustomObject1 cust = CustomObject1(para1,para2);
list<CustomObject1> c;
CustomObject2 cust2 = CustomObject2(para3,para4);
list<CustomObject2> c2;
c2.push_back(cust2);
c.push_back(cust)
return A("abc", c, c2);
Однако когда я выполняю модульные тесты в cpp инфраструктуре модульных тестов, содержимое списка сразу становится пустым.
namespace UnitTesting
{
TEST_CLASS(TestMethod)
{
public:
TEST_METHOD(TestDo) {
Process* process = new Process();
A a = process->do();
Assert::AreEqual(a.lst.size(),1) // a.lst is empty
}
}
Как получить список внутри объекта А, который будет заполнен таким образом?
Редактировать
А *
A(string toSelect, list<CustomObject1> custObjs,
list<CustomObject2> custObjs1)
A. cpp
A::A(string toSelect, list<CustomObject1> custObjs,
list<CustomObject2> custObjs1)
{
this->toSelect = toSelect;
this->custObjs = custObjs;
this->custObjs1 = custObjs;
}
- это полное определение для A.