나는이 스칼라 문제에 대한 도움이 필요합니다.캐스팅하지 않고 스칼라 테스트에서 private vars에 액세스
나는 모든 차량의 공통 변수와 3 개의 하위 클래스 인 자동차, 트럭 및 MotorCycle만의 고유 한 변수를 가진 모든 클래스의 계층 구조를 가지고 있습니다. 내가 그것을 테스트 할 때
이object Transformation {
def someTransformation(vehicle:Vehicle):Vehicle = {
vehicle match {
case Car(<<<vars>>>) => Car(<<< transformed vars>>>)
case Truck(<<<vars>>>) => Truck(<<< transformed vars>>>)
case MotorCycle(<<<vars>>>) => MotorCycle(<<< transformed vars>>>)
}
}
}
내 문제는 내가 (차량을 반환하고로는 믹스 인을 말할 수있다 : 나는 차량의 종류의 따라 약간의 변환을 수행하는 보조 객체 메소드의 패턴 매칭을 사용하고 있습니다), 나는 그것이 포함되었던 차량의 개인의 vars에 접근하기 위해 나타나는 때마다 던져 넣어야한다. 나는이 코드를 그대로두고 테스트에서 캐스팅하지 않고 전용 멤버에 액세스하고 싶습니다. 매개 변수로받은 차량이 내가 반환 한 차량과 동일한 유형이라는 것을 알고 있습니다. 제네릭으로 해결할 수 있습니까?, 어떻게?
감사합니다. 나는 이해할 수 있기를 바랍니다.
당신은 정말 그냥 서브 클래스 별, 클래스의'private' 회원을 의미하지 않는다? – Kraylog
정확히 Nimrod Argov –