Paulex Yang wrote:
What I meant is the test cases may need to be written against API factory
method instead of construct implementation classes directly via
implementation specific constructor/class, and the compatibility tests like
serialization tests are needed. I have no preference in where the
implementation classes locate.  :)

Look, in beans we have special (package-protected) entities that are
responsible for handling all persistence-related problems. If we like
to test these non-public entities we have two ways: write an
implementation test that can call protected methods directly to check
the desired behavior, or write an API test that will walk rather long
code path - create an appropriate content, instantiate XMLEncoder and
so on. In the last case our testing method is less accurate and
flexible comparing to the first one. Moreover, the real persistent
delegate issue can be hidden by bugs in complex logic of XMLEncoder.

Regards,

2007/7/5, Yang Paulex <[EMAIL PROTECTED]>:
2007/7/5, Spark Shen <[EMAIL PROTECTED]>:
>
> 2007/7/5, Yang Paulex <[EMAIL PROTECTED]>:
> >
> > 2007/7/4, Alexei Zakharov <[EMAIL PROTECTED]>:
> > >
> > > Spark Chen wrote:
> > > > > If no objection, I will go to implement those missing persistence
> > > > > functionality.
> > >
> > > FYI we already have number of persistence delegates classes located in
> > > org.apache.harmony.beans package, and FieldPersistenceDelegate is one
> > > of them.
>
>
> I agree to utilize existing implementation. But there are still others
> missing. For example, java.util.Collection and its subclasses[1].
>
> [1]http://issues.apache.org/jira/browse/HARMONY-4327
>
> It contains the algorithm that is very close to one you've
> > > implemented in the patch for HARMONY-4321. So I don't think we should
> > > add new FieldPersistenceDelegate, let's fix the existing one instead
> > > (if it needs fixing). BTW, we also have a special folder
> > > (src/test/java-internal/org/apache/harmony/beans) where tests for
> > > persistence delegates are located. Shouldn't we create something like
> > > FieldPersistenceDelegateTest there?
> >
> >
> > Seems the tests in src/test/java-internal/org/apache/harmony/beans are
> > implementation tests, all of which fail on RI with message like "
> > java.lang.NoClassDefFoundError:
> > org/apache/harmony/beans/ArrayPersistenceDelegate ". But I think the
> > persistent delegate mechanism are very similar with serialization, on
> > which
> > we need to be compatible with other Java SE implementation, so it makes
> > sense to make them the API tests which pass on RI. Did I miss something?
>
>
> I agree to regard these test cases as  API tests.  And then these
> persistenceDelegate implementations better be placed at
> src/main/java/java/beans corresponding to test case layout.


IMO, test case layout and  implementation class layout are different thing.
What I meant is the test cases may need to be written against API factory
method instead of construct implementation classes directly via
implementation specific constructor/class, and the compatibility tests like
serialization tests are needed. I have no preference in where the
implementation classes locate.  :)

Thanks,
> > >
> > > 2007/7/3, Tony Wu <[EMAIL PROTECTED]>:
> > > > On 7/3/07, Spark Shen <[EMAIL PROTECTED]> wrote:
> > > > > I find beans.XMLEncoder does not persist
> > java.lang.reflect.Fieldproperly.
> > > > > And I suspect there are more classes not properly handled.
> > > > >
> > > >
> > > > Yes, I think so.
> > > > > I have reported a JIRA:
> > > > > https://issues.apache.org/jira/browse/HARMONY-4321
> > > > >
> > > > > If no objection, I will go to implement those missing persistence
> > > > > functionality.
> > > > >
> > > >
> > > > please go head:)



--
Alexei Zakharov,
Intel ESSD

Reply via email to