У меня есть большой класс, помеченный @value от Ломбока, что делает его неизменным. Он подтвержден в какой -то момент, и для того, чтобы контролировать эти проверки, я должен создать многочисленные версии этого объекта с небольшими отклонениями от действительного экземпляра. Я ищу способ внести эти изменения, не написав все поколение каждый раз. Если класс был изменен, я мог бы просто применить свои изменения к недавно сгенерированному допустимому экземпляру для каждого теста.@Value
class MyClass{
String a;
String b;
String c;
...
}
// if it was mutable, I could just do this:
getValid() {
return new MyClass("a","b","c"...);
}
testA() {
var obj = getValid();
obj.a = "invalid";
// ... do test here
}
testB() {
var obj = getValid();
obj.b = "invalid";
// ... do test here
}
testC() {
var obj = getValid();
obj.c = "invalid";
// ... do test here
}
...
// since it is immutable, I have to do this:
testA() {
var obj = new MyClass("invalid","b","c"...); // I would like to avoid this
// ... do test here
}
testB() {
var obj = new MyClass("a","invalid","c"...); // I would like to avoid this
// ... do test here
}
testC() {
var obj = new MyClass("a","b","invalid"...); // I would like to avoid this
// ... do test here
}
...
Подробнее здесь: https://stackoverflow.com/questions/795 ... de-duplica