Проблема при написании UnitTest
От: minorearth  
Дата: 08.09.10 13:34
Оценка:
Есть следущий компонент:
namespace Model
{
   internal class Element
   {
   }

   internal class Group
   {
      public Group ()
      {
         Elements = new HashSet<Element>();
      }
      public HashSet<Element> Elements
      {
         get; 
         private set;
      }
   }

   public class Modeler
   {
      public int Do(Group group)
      {
         return 0;
      }
   }
}

и есть к нему UnitTest содержащий следующий код
...
var data = new Group_Accessor( );
data.Points.Add( new Element_Accessor() );
var modeler = new Modeler();
var actual = modeler.Do(data);
...

При выполнении строчки
data.Points.Add( new Element_Accessor() );

Появляется следующее исключение:

Unable to cast object of type 'System.Collections.Generic.HashSet`1[Model.Element]' to type 'System.Collections.Generic.HashSet`1[Model.Element_Accessor]'.


Не могу понять причину (но тут мой косяк — почти не копался).
В большей степени интересно если кто сталкивался — как решить эту проблему?
Re: Проблема при написании UnitTest
От: LF  
Дата: 08.09.10 13:52
Оценка: 3 (1) +1
M>Не могу понять причину (но тут мой косяк — почти не копался).
M>В большей степени интересно если кто сталкивался — как решить эту проблему?
Не используйте accessor'ы для доступа к internal членам. Используйте это
Я private-члены тестировать редко надо.
Re[2]: Проблема при написании UnitTest
От: minorearth  
Дата: 09.09.10 14:30
Оценка:
Здравствуйте, LF, Вы писали:

M>>Не могу понять причину (но тут мой косяк — почти не копался).

M>>В большей степени интересно если кто сталкивался — как решить эту проблему?
LF>Не используйте accessor'ы для доступа к internal членам. Используйте это
LF>Я private-члены тестировать редко надо.

Спасибо помогло ... хотя все таки надо будет попробовать разобраться с Accessor.
Re[3]: Проблема при написании UnitTest
От: LF  
Дата: 10.09.10 06:20
Оценка:
M>Спасибо помогло ... хотя все таки надо будет попробовать разобраться с Accessor.
Не думаю, что стоит. Accessor это какой то хак со стороны MS.
Если вдруг придется отказаться от студии или писать под моно Accessor'a не будет.
Re: Проблема при написании UnitTest
От: -VaS- Россия vaskir.blogspot.com
Дата: 10.09.10 16:54
Оценка:
Проблему решить просто — использовать общедоступный интерфейс для тестов. Убьешь целую стаю зайцев. Если тесты получаются корявые — рефакторить (а вот и первый заяц).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.