I believe this covers that (Tuna, feel free to shoot me if it was about
something completely different, I haven't read it in detail yet ;-))

http://tunatoksoz.com/post/Contributing-to-OSS-e28093-Creating-a-test-case-patch.aspx

Chris

On Wed, Aug 12, 2009 at 10:51 AM, Nelson <[email protected]> wrote:

>
> Could I have some guidelines or example of a good test project? How
> can I submit it to community?
>
> On Jul 29, 8:45 pm, Davy Brion <[email protected]> wrote:
> > create a patch with a failing test and we'd be happy to look at the
> > problem... and try to fix it of course
> >
> > On Tue, Jul 28, 2009 at 9:54 PM, Nelson <[email protected]> wrote:
> >
> > > Nobody to confirm that bug? I do not want to add it to JIRA without
> > > nobody validating it.
> > > Is the previous message unclear?
> >
> > > On Jul 27, 9:06 pm, Nelson <[email protected]> wrote:
> > > > Hello open people,
> >
> > > > I think I founded a bug in NHibernate 2.1.
> > > > Before reading that message and throwing me stones, please know that
> I
> > > > founded it at work and I'm pretty tired and lazy now. So if I am not
> > > > giving enough details, please don't kill me! I prefered posting
> > > > something before forgetting about it.
> >
> > > > *** Observations ***
> >
> > > > The bug happened when saving/loading a collection of element of
> > > > nullable .net types.
> > > > When saving a List<double?>, mapped as a list of element
> > > > (kindof this :
> > > > <list name="toto">
> > > > <key.../>
> > > > <index .../>
> > > > <element ../> <<< a 'double?'
> > > > </list>
> > > > containing {9,null, null,8,null}, NHibernate insert tuples <0,9>,
> > > > <3,8>, not inserting null values (which is great).
> >
> > > > When loading it inserts null values into the list (cool). <<
> > > > cockroach
> >
> > > > *** Why cockroach? ***
> >
> > > > Here is the ReadFrom function from
> > > > NHibernate.Collection.PersistentList.cs
> >
> > > >                 public override object ReadFrom(IDataReader rs,
> > > ICollectionPersister
> > > > role, ICollectionAliases descriptor, object owner)
> > > >                 {
> > > >                         object element = role.ReadElement(rs, owner,
> > > > descriptor.SuffixedElementAliases, Session);
> > > >                         int index = (int) role.ReadIndex(rs,
> > > > descriptor.SuffixedIndexAliases, Session);
> >
> > > >                         //pad with nulls from the current last
> element up
> > > to the new index
> > > >                         for (int i = list.Count; i <= index; i++)
> > > >                         {
> > > >                                 list.Insert(i, DefaultForType);
> > > >                         }
> >
> > > >                         list[index] = element;
> > > >                         return element;
> > > >                 }
> >
> > > > See that line ? "list.Insert(i, DefaultForType);" Default for double?
> > > > is null. So we do have list.Insert(i,null) here. What is 'list'?
> >
> > > > public class PersistentList : AbstractPersistentCollection, IList
> > > >         {
> > > >                 protected IList list;
> >
> > > > An IList, which is initialized in the constructor by
> >
> > > > public PersistentList(ISessionImplementor session, IList list) : base
> > > > (session)
> > > >                 {
> > > >                         this.list = list;
> > > >                         SetInitialized();
> > > >                         IsDirectlyAccessible = true;
> > > >                 }
> >
> > > > So the concrete code, in case of List<double?> is
> >
> > > > IList list = new List<double?>();
> >
> > > > followed by
> >
> > > > list.Add(i,null) << an exception is thrown cuz List<double?> checks
> if
> > > > null is a double? and it says it is not.
> >
> > > > Sorry for the lazy and badly written message in English. I'm a
> monkey,
> > > > it is difficult for us monkey to speak English.
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" 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/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to