2007/7/5, Alexei Zakharov <[EMAIL PROTECTED]>:

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.


But, the problem is some internal tests will fail on RI. Then what's these
test cases test against?

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




--
Spark Shen
China Software Development Lab, IBM

Reply via email to