hi Ryan,
i think you have basically two options:
- use anonymous method instead of getCriteria() - you can reference
local _criteria there
- create DynamicMock in getCriteria()
btw. did you notice you are overwriting _criteria in getCriteria() ?
~naraga
On Oct 20, 6:56 pm, RyanKelley <[EMAIL PROTECTED]> wrote:
> Pardon me, I am fairly new to RhinoMocks and mocking in general and I
> need some help. I have a factory that creates an instance of a list
> object with this method:
>
> public override L Fetch(CriteriaBase criteria)
> {
> if (criteria != null)
> {
> var list = (L) Activator.CreateInstance(typeof (L),
> true);
> IList<I> _list;
>
> using(UnitOfWork.Start(DatabaseKey))
> {
> NHibernate.ICriteria crit =
> _repository.CreateCriteria();
>
> list.SetNHibernateCriteria(criteria, crit);
> _list = crit.List<I>();
> }
>
> list.RaiseListChangedEvents = false;
>
> foreach (var item in _list)
> {
> list.Add(item);
> }
>
> list.RaiseListChangedEvents = true;
> MarkOld(list);
> return list;
>
> }
> return Fetch();
> }
>
> I have a test setup like this:
>
> [TestMethod]
> public void
> BusinessBaseFactory_Fetch_WithCriteria_ReturnsObject()
> {
> BusinessListBaseServerFactory<ProductList, Product>
> _factory = new BusinessListBaseServerFactory<ProductList,
> Product>(_repository);
> _criteria = _mocks.DynamicMock<NHibernate.ICriteria>();
>
> ProductList _returnValues = new ProductList();
> ProductList products = _factory.Create();
> using (_mocks.Record())
> {
> Expect.Call(_repository.CreateCriteria()).Do(new
> CriteriaAction(getCriteria));
> }
> using (_mocks.Playback())
> {
> products = _factory.Fetch(new
> SingleCriteria<ProductList, string>("Test"));
> }
> }
>
> private delegate NHibernate.ICriteria CriteriaAction();
>
> private NHibernate.ICriteria getCriteria()
> {
> _criteria =
> UnitOfWork.CurrentSession("PTracker").CreateCriteria(typeof
> (Product));
> return _criteria;
> }
>
> This test is successful but it doesn't really test that
> ICriteria.List() was called. I am having trouble wrapping my head
> around how to test that since the ICriteria variable in the test is a
> local instance. Got any ideas?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Rhino.Mocks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/RhinoMocks?hl=en
-~----------~----~----~----~------~----~------~--~---