Re: Is.Serializable

"Simone Busoli" <[email protected]> Wed, 10 Sep 2008 01:31:36 +0200
Newsgroups gmane.comp.windows.dotnet.nunit.user
Message-ID <[email protected]>
--===============1202299576==
Content-Type: multipart/alternative; 
	boundary="----=_Part_95282_4715849.1221003096804"

------=_Part_95282_4715849.1221003096804
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Good. You might want to give feedback to the corresponding feature request
on sourceforge.
http://sourceforge.net/tracker/index.php?func=detail&aid=2028517&group_id=10749&atid=360749

On Tue, Sep 9, 2008 at 9:34 PM, Charlie Poole
<[email protected]>wrote:

>  Now checked in.
>
>  ------------------------------
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Simone Busoli
> *Sent:* Tuesday, September 09, 2008 4:11 AM
>
> *To:* Charlie Poole
> *Cc:* [email protected]
> *Subject:* Re: [Nunit-users] Is.Serializable
>
>  Hey, what about the constraints instead? ;)
>
> On Tue, Sep 9, 2008 at 1:09 PM, Charlie Poole <[email protected]
> > wrote:
>
>>  At some point, I decided NAnt should not be in the repositiory. But I
>> can't
>> remember the reason any longer. :-)
>>
>> Charlie
>>
>>  ------------------------------
>>  *From:* [email protected] [mailto:
>> [email protected]] *On Behalf Of *Simone Busoli
>> *Sent:* Tuesday, September 09, 2008 12:08 AM
>>
>> *To:* Charlie Poole
>> *Cc:* [email protected]
>> *Subject:* Re: [Nunit-users] Is.Serializable
>>
>>   Well, NAnt should be in the repository, shouldn't it? Running the build
>> with NAnt I get an error saying that it cannot find resgen. Actually, I
>> don't have the .NET SDK installed, I guess that's the reason.
>>
>> On Tue, Sep 9, 2008 at 1:57 AM, Charlie Poole <
>> [email protected]> wrote:
>>
>>>  Hi Simone,
>>>
>>> If there's something specific, I'd be glad to fix it. Right now, I
>>> believe the onlly dependency is on
>>> having a NAnt version that supports the script elements and an SDK for
>>> the version of .NET or
>>> Mono you want to use.. If there's anything else, it should be in our
>>> repository.
>>>
>>> What are you running into other than that?
>>>
>>> Charlie
>>>
>>>  ------------------------------
>>>  *From:* [email protected] [mailto:
>>> [email protected]] *On Behalf Of *Simone Busoli
>>> *Sent:* Monday, September 08, 2008 2:30 PM
>>>
>>> *To:* Charlie Poole
>>> *Cc:* [email protected]
>>> *Subject:* Re: [Nunit-users] Is.Serializable
>>>
>>>   Do you think that the nant script could be made less dependent upon
>>> the machine on which it's run? Except for the net fx, I'd prefer if it
>>> didn't have any other dependencies which could not be put under source
>>> control.
>>>
>>> On Mon, Sep 8, 2008 at 11:12 PM, Charlie Poole <
>>> [email protected]> wrote:
>>>
>>>>  I find the VS builds convenient for exploratory changes myself.
>>>>
>>>> For the NAnt build, make sure the config points to the right
>>>> location for the exe.
>>>>
>>>> I seem to remember that there are problems when you have
>>>> a separate SDK install in additon to the version provided with
>>>> Visual Studio.
>>>>
>>>> Charlie
>>>>
>>>>  ------------------------------
>>>>  *From:* Simone Busoli [mailto:[email protected]]
>>>> *Sent:* Monday, September 08, 2008 1:33 PM
>>>>
>>>> *To:* Charlie Poole
>>>> *Cc:* [email protected]
>>>> *Subject:* Re: [Nunit-users] Is.Serializable
>>>>
>>>>   I built it with VS2008 and ran tests with the NUnit gui executable
>>>> output from the build. The NAnt script requires the .NET SDK, I have it
>>>> installed at work but I couldn't run it anyway. It complained about
>>>> resgen.exe not being there. In fact it wasn't there, but I didn't
>>>> investigate why.
>>>> I couldn't run the NAnt script however in the end, though I would prefer
>>>> running it instead of building in VS.
>>>>
>>>> On Mon, Sep 8, 2008 at 10:20 PM, Charlie Poole <
>>>> [email protected]> wrote:
>>>>
>>>>>  How did you work out your build problem?
>>>>>
>>>>> Charlie
>>>>>
>>>>>  ------------------------------
>>>>>  *From:* Simone Busoli [mailto:[email protected]]
>>>>> *Sent:* Monday, September 08, 2008 12:29 PM
>>>>>
>>>>> *To:* Charlie Poole
>>>>> *Cc:* [email protected]
>>>>> *Subject:* Re: [Nunit-users] Is.Serializable
>>>>>
>>>>>   So here's the patch, for both the BinarySerializable and
>>>>> XmlSerializable constraints. I've followed your guide, I hope I did
>>>>> everything correctly. Feedback welcome.
>>>>>
>>>>> On Sun, Sep 7, 2008 at 7:35 PM, Charlie Poole <
>>>>> [email protected]> wrote:
>>>>>
>>>>>>  Fair Enough! I'll put it on both lists.
>>>>>>
>>>>>> Charlie
>>>>>>
>>>>>>  ------------------------------
>>>>>>  *From:* [email protected] [mailto:
>>>>>> [email protected]] *On Behalf Of *Simone
>>>>>> Busoli
>>>>>> *Sent:* Sunday, September 07, 2008 12:24 AM
>>>>>>
>>>>>> *To:* Charlie Poole
>>>>>> *Cc:* [email protected]
>>>>>> *Subject:* Re: [Nunit-users] Is.Serializable
>>>>>>
>>>>>>   Hi Charlie,
>>>>>> I'd prefer to work on it again, there's been some changes since I
>>>>>> wrote it in the beginning, and it would be useful for me to get comfortable
>>>>>> with them. If you agree, I think this would be the right moment to publish
>>>>>> the list of steps required to create a new constraint.
>>>>>>
>>>>>> On Sun, Sep 7, 2008 at 1:33 AM, Charlie Poole <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>>  Hi Simone,
>>>>>>>
>>>>>>> I'm now back to looking at this patch, which I set aside while
>>>>>>> working on other stuff.
>>>>>>>
>>>>>>> I agree with you about having two different constraints. Do you want
>>>>>>> me to put in
>>>>>>> the patch you sent and change the name to "Binary..." or would you
>>>>>>> like to rework it?
>>>>>>>
>>>>>>> As noted, we do now have a generic AttributeConstraint.
>>>>>>>
>>>>>>> Charlie
>>>>>>>
>>>>>>>  ------------------------------
>>>>>>>  *From:* Simone Busoli [mailto:[email protected]]
>>>>>>> *Sent:* Thursday, August 14, 2008 11:15 AM
>>>>>>> *To:* Charlie Poole
>>>>>>> *Cc:* [email protected]
>>>>>>>
>>>>>>> *Subject:* Re: [Nunit-users] Is.Serializable
>>>>>>>
>>>>>>>
>>>>>>>> To check just for the attribute or the interface
>>>>>>>>   Is.Serializable() OR
>>>>>>>>   Is.Serializable
>>>>>>>>
>>>>>>>> To check by trying to do it
>>>>>>>>   Is.Serializable(formatter) OR
>>>>>>>>   Is.Serializable.Using(formatter)
>>>>>>>>
>>>>>>>
>>>>>>> I think that making Is.Serializable check for the presence of the
>>>>>>> attribute on the class might be misleading, because its presence doesn't
>>>>>>> mean it's serializable, and its absence doesn't mean it isn't. I think that
>>>>>>> Is.Serializable should be used to check that an object is really
>>>>>>> serializable, together with its references. That is, Is.Serializable should
>>>>>>> come in two flavours, one that checks if it is serializable in binary
>>>>>>> format, and another for xml. I'll come to this later.
>>>>>>> About checking for the presence of the attribute, as you mentioned in
>>>>>>> a comment to Fabio's feature request, I think it could be generalized with
>>>>>>> Has.Attribute<> or Has.Attribute(Type).
>>>>>>> So, given that the presence of an attribute is checked with a generic
>>>>>>> Has.Attribute, the way I would tackle the true ability of an object graph to
>>>>>>> serialize is either using Is.XmlSerializable and Is.BinarySerializable or
>>>>>>> something equivalent. I don't get how you could pass in an instance of a
>>>>>>> formatter; I guess you proposed it because you might want to be able to use
>>>>>>> the assertion for other types of formatters not built into the .net fx s
>>>>>>> well, but then how would you call their methods? Via reflection?
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> The aternatives above are between using a method and using a
>>>>>>>> property. It would be
>>>>>>>> cool to use the property for te first example and the method for the
>>>>>>>> second, but
>>>>>>>> that's not possible.
>>>>>>>>
>>>>>>>> Most of our syntactic elements use a property format when there is
>>>>>>>> no argument.
>>>>>>>> When an element has an optional argument, then we are forced to use
>>>>>>>> method
>>>>>>>> syntax, which may look a bit odd. For example, we have to useIs.Ordered()
>>>>>>>> rather than Is.Ordered - That example should be familiar to you :-)
>>>>>>>>
>>>>>>>> I lean toward "Using" or "With" or some other keyword.
>>>>>>>>
>>>>>>>> What do folks think?
>>>>>>>>
>>>>>>>
>>>>>>> I'm fine with anything you choose. I don't think it's so important if
>>>>>>> it's a property or a method, just let's try to be consistent :)
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Charlie
>>>>>>>>
>>>>>>>>   ------------------------------
>>>>>>>> *From:* Simone Busoli [mailto:[email protected]]
>>>>>>>> *Sent:* Thursday, August 14, 2008 12:16 AM
>>>>>>>> *To:* Charlie Poole
>>>>>>>> *Subject:* Re: [Nunit-users] Is.Serializable
>>>>>>>>
>>>>>>>>   Hmm, I just realized that what I'm doing is not enough for the
>>>>>>>> object to be serializable. I noticed that the prerequisites for it to be
>>>>>>>> serializable are quite different according to whether you want to serialize
>>>>>>>> it to xml or to binary. For example, the binary serialization doesn't
>>>>>>>> require classes to be public, while xml does. xml serialization doesn't
>>>>>>>> require the serializable attribute, while the binary does. So I'm wondering
>>>>>>>> if it could be the case to split the assertion in IsBinarySerializable and
>>>>>>>> IsXmlSerializable, or check that it is both binary and xml serializable in
>>>>>>>> the same assertion. Thoughts?
>>>>>>>>
>>>>>>>> On Thu, Aug 14, 2008 at 2:02 AM, Charlie Poole <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>>  Hi Simone,
>>>>>>>>>
>>>>>>>>> This looks good to me. Would you like to synch up and fix it so it
>>>>>>>>> works with the latest code? My major
>>>>>>>>> changes to Constraint, ConstraintBuilder, etc. are done and it
>>>>>>>>> would give you a good way for you
>>>>>>>>> to get familiar with those changes. Once it's done, you can either
>>>>>>>>> send me a new patch or - if
>>>>>>>>> you would like - I'll make you a commiter so you can add it
>>>>>>>>> yourself. If you agree, I'll explain more
>>>>>>>>> to you about review of code etc.
>>>>>>>>>
>>>>>>>>> Charlie
>>>>>>>>>
>>>>>>>>>  ------------------------------
>>>>>>>>> *From:* [email protected] [mailto:
>>>>>>>>> [email protected]] *On Behalf Of *Simone
>>>>>>>>> Busoli
>>>>>>>>> *Sent:* Monday, August 11, 2008 7:11 AM
>>>>>>>>> *To:* [email protected]
>>>>>>>>> *Subject:* [Nunit-users] Is.Serializable
>>>>>>>>>
>>>>>>>>>  With regards to:
>>>>>>>>> http://sourceforge.net/tracker/index.php?func=detail&aid=2028517&group_id=10749&atid=360749
>>>>>>>>>
>>>>>>>>> I have implemented a SerializableConstraint accessible via
>>>>>>>>> Is.Serializable. The match is true if serialization to and deserialization
>>>>>>>>> from a memory stream via a BinaryFormatter both succeed and the deserialized
>>>>>>>>> object is not null. Otherwise the match returns false.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

------=_Part_95282_4715849.1221003096804
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<div dir="ltr">Good. You might want to give feedback to the corresponding feature request on sourceforge.&nbsp;<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2028517&amp;group_id=10749&amp;atid=360749">http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2028517&amp;group_id=10749&amp;atid=360749</a><br>
<br><div class="gmail_quote">On Tue, Sep 9, 2008 at 9:34 PM, Charlie Poole <span dir="ltr">&lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>
<div><span><font face="Arial" color="#0000ff" size="2">Now 
checked in.</font></span></div><br>
<blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:#0000ff 2px solid;margin-right:0px">
  <div lang="en-us" dir="ltr" align="left">
  <hr>
  <font face="Tahoma" size="2"><div><b>From:</b> 
  <a href="mailto:[email protected]" target="_blank">[email protected]</a> 
  [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] <b>On Behalf Of </b>Simone 
  Busoli<br></div><b>Sent:</b> Tuesday, September 09, 2008 4:11 AM<div><div></div><div><br><b>To:</b> 
  Charlie Poole<br><b>Cc:</b> 
  <a href="mailto:[email protected]" target="_blank">[email protected]</a><br><b>Subject:</b> Re: [Nunit-users] 
  Is.Serializable<br></div></div></font><br></div><div><div></div><div>
  <div></div>
  <div dir="ltr">Hey, what about the constraints instead? ;)<br><br>
  <div class="gmail_quote">On Tue, Sep 9, 2008 at 1:09 PM, Charlie Poole <span dir="ltr">&lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt;</span> 
  wrote:<br>
  <blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:#ccc 1px solid">
    <div>
    <div><span><font face="Arial" color="#0000ff" size="2">At some point, I decided 
    NAnt should not be in the repositiory. But I can&#39;t</font></span></div>
    <div><span><font face="Arial" color="#0000ff" size="2">remember the reason any 
    longer. :-)</font></span></div>
    <div><font face="Arial"><font color="#0000ff"><font size="2"><span></span></font></font></font>&nbsp;</div>
    <div><font face="Arial"><font color="#0000ff"><font size="2"><span>Charlie</span></font></font></font></div>
    <div><br></div>
    <blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:#0000ff 2px solid;margin-right:0px">
      <div lang="en-us" dir="ltr" align="left">
      <hr>
      <font face="Tahoma" size="2">
      <div><b>From:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a> [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] <b>On Behalf 
      Of </b>Simone Busoli<br></div><b>Sent:</b> Tuesday, September 09, 2008 
      12:08 AM
      <div>
      <div></div>
      <div><br><b>To:</b> Charlie Poole<br><b>Cc:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a><br><b>Subject:</b> Re: 
      [Nunit-users] Is.Serializable<br></div></div></font><br></div>
      <div>
      <div></div>
      <div>
      <div></div>
      <div dir="ltr">Well, NAnt should be in the repository, shouldn&#39;t it? 
      <div>Running the build with NAnt I get an error saying that it cannot find 
      resgen. Actually, I don&#39;t have the .NET SDK installed, I guess that&#39;s the 
      reason.<br><br>
      <div class="gmail_quote">On Tue, Sep 9, 2008 at 1:57 AM, Charlie Poole <span dir="ltr">&lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt;</span> wrote:<br>
      <blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:#ccc 1px solid">
        <div>
        <div><span><font face="Arial" color="#0000ff" size="2">Hi 
        Simone,</font></span></div>
        <div>&nbsp;</div>
        <div><span></span><font face="Arial"><font color="#0000ff"><font size="2">I<span>f there&#39;s something specific, I&#39;d be glad to fix it. Right 
        now, I believe the onlly dependency is 
        on</span></font></font></font></div>
        <div><font size="+0"><font color="#0000ff"><font size="2"><span></span></font></font></font><span></span><font face="Arial"><font color="#0000ff"><font size="2">h<span>aving a NAnt version 
        that supports the s</span></font></font></font><font face="Arial"><font color="#0000ff"><font size="2"><span>cript elements and an SDK for the 
        version of .NET or</span></font></font></font></div>
        <div><font face="Arial"><font color="#0000ff"><font size="2"><span>Mono you 
        </span></font></font></font><font face="Arial"><font color="#0000ff"><font size="2"><span>want to use.. If there&#39;s anything else, it should be 
        </span></font></font></font><font face="Arial"><font color="#0000ff"><font size="2"><span>in </span></font></font></font><font face="Arial"><font color="#0000ff"><font size="2">o<span>ur 
        repository.</span></font></font></font></div>
        <div><font face="Arial"><font color="#0000ff"><font size="2"><span></span></font></font></font>&nbsp;</div>
        <div><font face="Arial"><font color="#0000ff"><font size="2"><span>What are 
        you running into other than that?</span></font></font></font></div>
        <div><font face="Arial"><font color="#0000ff"><font size="2"><span></span></font></font></font>&nbsp;</div>
        <div><font face="Arial"><font color="#0000ff"><font size="2"><span>Charlie</span></font></font></font></div>
        <div><br></div>
        <blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:#0000ff 2px solid;margin-right:0px">
          <div lang="en-us" dir="ltr" align="left">
          <hr>
          <font face="Tahoma" size="2">
          <div><b>From:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a> [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] <b>On 
          Behalf Of </b>Simone Busoli<br></div><b>Sent:</b> Monday, September 
          08, 2008 2:30 PM 
          <div>
          <div></div>
          <div><br><b>To:</b> Charlie Poole<br><b>Cc:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a><br><b>Subject:</b> 
          Re: [Nunit-users] Is.Serializable<br></div></div></font><br></div>
          <div>
          <div></div>
          <div>
          <div></div>
          <div dir="ltr">Do you think that the nant script could be made less 
          dependent upon the machine on which it&#39;s run? Except for the net fx, 
          I&#39;d prefer if it didn&#39;t have any other dependencies which could not be 
          put under source control.<br><br>
          <div class="gmail_quote">On Mon, Sep 8, 2008 at 11:12 PM, Charlie Poole 
          <span dir="ltr">&lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt;</span> wrote:<br>
          <blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:#ccc 1px solid">
            <div>
            <div><span><font face="Arial" color="#0000ff" size="2">I find the VS 
            builds convenient for exploratory changes 
myself.</font></span></div>
            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
            <div><span><font face="Arial" color="#0000ff" size="2">For the NAnt build, 
            make sure the config points to the right</font></span></div>
            <div><span><font face="Arial" color="#0000ff" size="2">location for the 
            exe.</font></span></div>
            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
            <div><span><font face="Arial" color="#0000ff" size="2">I seem to remember 
            that there are problems when you have</font></span></div>
            <div><span><font face="Arial" color="#0000ff" size="2">a separate SDK 
            install in additon to the version provided with</font></span></div>
            <div><span><font face="Arial" color="#0000ff" size="2">Visual 
            Studio.</font></span></div>
            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
            <div><span><font face="Arial" color="#0000ff" size="2">Charlie</font></span></div><br>
            <blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:#0000ff 2px solid;margin-right:0px">
              <div lang="en-us" dir="ltr" align="left">
              <hr>
              <font face="Tahoma" size="2">
              <div><b>From:</b> Simone Busoli [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] <br></div><b>Sent:</b> 
              Monday, September 08, 2008 1:33 PM 
              <div>
              <div></div>
              <div><br><b>To:</b> Charlie Poole<br><b>Cc:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a><br><b>Subject:</b> 
              Re: [Nunit-users] Is.Serializable<br></div></div></font><br></div>
              <div>
              <div></div>
              <div>
              <div></div>
              <div dir="ltr">I built it with VS2008 and ran tests with the NUnit 
              gui executable output from the build. 
              <div>The NAnt script requires the .NET SDK, I have it installed at 
              work but I couldn&#39;t run it anyway. It complained about resgen.exe 
              not being there. In fact it wasn&#39;t there, but I didn&#39;t investigate 
              why.</div>
              <div>I couldn&#39;t run the NAnt script however in the end, though I 
              would prefer running it instead of building in VS.&nbsp;<br><br>
              <div class="gmail_quote">On Mon, Sep 8, 2008 at 10:20 PM, Charlie 
              Poole <span dir="ltr">&lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt;</span> 
wrote:<br>
              <blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:#ccc 1px solid">
                <div>
                <div><span><font face="Arial" color="#0000ff" size="2">How did you 
                work out your build problem?</font></span></div>
                <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                <div><span><font face="Arial" color="#0000ff" size="2">Charlie</font></span></div><br>
                <blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:#0000ff 2px solid;margin-right:0px">
                  <div lang="en-us" dir="ltr" align="left">
                  <hr>
                  <font face="Tahoma" size="2">
                  <div><b>From:</b> Simone Busoli [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] 
                  <br></div><b>Sent:</b> Monday, September 08, 2008 12:29 PM 
                  <div>
                  <div></div>
                  <div><br><b>To:</b> Charlie Poole<br><b>Cc:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a><br><b>Subject:</b> 
                  Re: [Nunit-users] 
                  Is.Serializable<br></div></div></font><br></div>
                  <div>
                  <div></div>
                  <div>
                  <div></div>
                  <div dir="ltr">So here&#39;s the patch, for both the 
                  BinarySerializable and XmlSerializable constraints. I&#39;ve 
                  followed your guide, I hope I did everything correctly. 
                  Feedback welcome.<br><br>
                  <div class="gmail_quote">On Sun, Sep 7, 2008 at 7:35 PM, Charlie 
                  Poole <span dir="ltr">&lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt;</span> 
                  wrote:<br>
                  <blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:#ccc 1px solid">
                    <div>
                    <div><span><font face="Arial" color="#0000ff" size="2">Fair 
                    Enough! I&#39;ll put it on both lists.</font></span></div>
                    <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                    <div><span><font face="Arial" color="#0000ff" size="2">Charlie</font></span></div><br>
                    <blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:#0000ff 2px solid;margin-right:0px">
                      <div lang="en-us" dir="ltr" align="left">
                      <hr>
                      <font face="Tahoma" size="2">
                      <div><b>From:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a> 
                      [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] 
                      <b>On Behalf Of </b>Simone Busoli<br></div><b>Sent:</b> 
                      Sunday, September 07, 2008 12:24 AM 
                      <div>
                      <div></div>
                      <div><br><b>To:</b> Charlie Poole<br><b>Cc:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a><br><b>Subject:</b> 
                      Re: [Nunit-users] 
                      Is.Serializable<br></div></div></font><br></div>
                      <div>
                      <div></div>
                      <div>
                      <div></div>
                      <div dir="ltr">Hi Charlie, 
                      <div><br></div>
                      <div>I&#39;d prefer to work on it again, there&#39;s been some 
                      changes since I wrote it in the beginning, and it would be 
                      useful for me to get comfortable with them. If you agree, 
                      I think this would be the right moment to publish the list 
                      of steps required to create a new constraint.<br><br>
                      <div class="gmail_quote">On Sun, Sep 7, 2008 at 1:33 AM, 
                      Charlie Poole <span dir="ltr">&lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt;</span> 
                      wrote:<br>
                      <blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:#ccc 1px solid">
                        <div>
                        <div><span><font face="Arial" color="#0000ff" size="2">Hi 
                        Simone,</font></span></div>
                        <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                        <div><span><font face="Arial" color="#0000ff" size="2">I&#39;m now 
                        back to looking at this patch, which I set aside while 
                        working on other stuff.</font></span></div>
                        <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                        <div><span><font face="Arial" color="#0000ff" size="2">I agree 
                        with you about having two different constraints. Do you 
                        want me to put in</font></span></div>
                        <div><span><font face="Arial" color="#0000ff" size="2">the 
                        patch you sent and change the name to 
                        &quot;Binary...&quot;&nbsp;or would you like to rework 
                        it?</font></span></div>
                        <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                        <div><span><font face="Arial" color="#0000ff" size="2">As 
                        noted, we do now have a generic 
                        AttributeConstraint.</font></span></div>
                        <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                        <div><span><font face="Arial" color="#0000ff" size="2">Charlie</font></span></div><br>
                        <blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:#0000ff 2px solid;margin-right:0px">
                          <div lang="en-us" dir="ltr" align="left">
                          <hr>
                          <font face="Tahoma" size="2">
                          <div><b>From:</b> Simone Busoli [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] 
                          <br></div><b>Sent:</b> Thursday, August 14, 2008 11:15 
                          AM<br><b>To:</b> Charlie Poole<br><b>Cc:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a> 
                          <div>
                          <div></div>
                          <div><br><b>Subject:</b> Re: [Nunit-users] 
                          Is.Serializable<br></div></div></font><br></div>
                          <div>
                          <div></div>
                          <div>
                          <div></div>
                          <div dir="ltr">
                          <div class="gmail_quote">
                          <blockquote class="gmail_quote" style="padding-left:1ex;margin:0pt 0pt 0pt 0.8ex;border-left:rgb(204,204,204) 1px solid">
                            <div><br>
                            <div><span><font face="Arial" color="#0000ff" size="2">To 
                            check just for the attribute or the 
                            interface</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">&nbsp; Is.Serializable() 
                            OR</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">&nbsp; Is.Serializable</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                            <div><span><font face="Arial" color="#0000ff" size="2">To 
                            check by trying to do it</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">&nbsp; Is.Serializable(formatter) 
                            OR</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">&nbsp; 
                            Is.Serializable.Using(formatter)</font></span></div></div></blockquote>
                          <div><br>I think that making Is.Serializable check for 
                          the presence of the attribute on the class might be 
                          misleading, because its presence doesn&#39;t mean it&#39;s 
                          serializable, and its absence doesn&#39;t mean it isn&#39;t. I 
                          think that Is.Serializable should be used to check 
                          that an object is really serializable, together with 
                          its references. That is, Is.Serializable should come 
                          in two flavours, one that checks if it is serializable 
                          in binary format, and another for xml. I&#39;ll come to 
                          this later.<br>About checking for the presence of the 
                          attribute, as you mentioned in a comment to Fabio&#39;s 
                          feature request, I think it could be generalized with 
                          Has.Attribute&lt;&gt; or Has.Attribute(Type).<br>So, 
                          given that the presence of an attribute is checked 
                          with a generic Has.Attribute, the way I would tackle 
                          the true ability of an object graph to serialize is 
                          either using Is.XmlSerializable and 
                          Is.BinarySerializable or something equivalent. I don&#39;t 
                          get how you could pass in an instance of a formatter; 
                          I guess you proposed it because you might want to be 
                          able to use the assertion for other types of 
                          formatters not built into the .net fx s well, but then 
                          how would you call their methods? Via 
                          reflection?<br>&nbsp;</div>
                          <blockquote class="gmail_quote" style="padding-left:1ex;margin:0pt 0pt 0pt 0.8ex;border-left:rgb(204,204,204) 1px solid">
                            <div>
                            <div><span><font face="Arial" color="#0000ff" size="2"></font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                            <div><span><font face="Arial" color="#0000ff" size="2">The 
                            aternatives above are between using a method and 
                            using a property. It would be</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">cool to use the property for te first example 
                            and the method for the second, but 
                            </font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">that&#39;s not possible.</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                            <div><span><font face="Arial" color="#0000ff" size="2">Most of our syntactic elements use a property 
                            format when there is no 
argument.</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">When an element has an optional argument, 
                            then we are forced to use method</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">syntax, which may look a bit odd. For 
                            example, we have to use</font></span><span><font face="Arial" color="#0000ff" size="2"> 
                            Is.Ordered()</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2">rather than Is.Ordered - That example should 
                            be familiar to you :-)</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                            <div><span><font face="Arial" color="#0000ff" size="2">I 
                            lean toward &quot;Using&quot; or &quot;With&quot; or some other 
                            keyword.</font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                            <div><span><font face="Arial" color="#0000ff" size="2">What do folks 
                          think?</font></span></div></div></blockquote>
                          <div><br>I&#39;m fine with anything you choose. I don&#39;t 
                          think it&#39;s so important if it&#39;s a property or a 
                          method, just let&#39;s try to be consistent 
                          :)<br>&nbsp;</div>
                          <blockquote class="gmail_quote" style="padding-left:1ex;margin:0pt 0pt 0pt 0.8ex;border-left:rgb(204,204,204) 1px solid">
                            <div>
                            <div><span><font face="Arial" color="#0000ff" size="2"></font></span></div>
                            <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div><font color="#888888">
                            <div><span><font face="Arial" color="#0000ff" size="2">Charlie</font></span></div><br></font>
                            <blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:rgb(0,0,255) 2px solid;margin-right:0px">
                              <div>
                              <div lang="en-us" dir="ltr" align="left">
                              <hr>
                              <font face="Tahoma" size="2"><b>From:</b> Simone 
                              Busoli [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] 
                              <br><b>Sent:</b> Thursday, August 14, 2008 12:16 
                              AM<br><b>To:</b> Charlie Poole<br><b>Subject:</b> 
                              Re: [Nunit-users] 
                              Is.Serializable<br></font><br></div>
                              <div></div></div>
                              <div>
                              <div></div>
                              <div>
                              <div dir="ltr">Hmm, I just realized that what I&#39;m 
                              doing is not enough for the object to be 
                              serializable. I noticed that the prerequisites for 
                              it to be serializable are quite different 
                              according to whether you want to serialize it to 
                              xml or to binary. For example, the binary 
                              serialization doesn&#39;t require classes to be 
                              public, while xml does. xml serialization doesn&#39;t 
                              require the serializable attribute, while the 
                              binary does. So I&#39;m wondering if it could be the 
                              case to split the assertion in 
                              IsBinarySerializable and IsXmlSerializable, or 
                              check that it is both binary and xml serializable 
                              in the same assertion. Thoughts?<br><br>
                              <div class="gmail_quote">On Thu, Aug 14, 2008 at 
                              2:02 AM, Charlie Poole <span dir="ltr">&lt;<a href="mailto:[email protected]" target="_blank">[email protected]</a>&gt;</span> 
                              wrote:<br>
                              <blockquote class="gmail_quote" style="padding-left:1ex;margin:0pt 0pt 0pt 0.8ex;border-left:rgb(204,204,204) 1px solid">
                                <div>
                                <div><span><font face="Arial" color="#0000ff" size="2">Hi Simone,</font></span></div>
                                <div><span><font face="Arial" color="#0000ff" size="2"></font></span>&nbsp;</div>
                                <div><span><font face="Arial" color="#0000ff" size="2">This looks good to me. Would you like to 
                                synch up and fix it so it works with the latest 
                                code? My major</font></span></div>
                                <div><span><font face="Arial" color="#0000ff" size="2">changes to Constraint, ConstraintBuilder, 
                                etc. are done and it would give you a good way 
                                for you</font></span></div>
                                <div><span><font face="Arial" color="#0000ff" size="2">to get familiar with those changes. Once 
                                it&#39;s done, you can either send me a new patch or 
                                - if</font></span></div>
                                <div><span><font face="Arial" color="#0000ff" size="2">you would like - I&#39;ll make you a commiter 
                                so you can add it yourself. If you agree, I&#39;ll 
                                explain more</font></span></div>
                                <div><span><font face="Arial" color="#0000ff" size="2">to you about review of code 
                                etc.</font></span></div>
                                <div>&nbsp;</div>
                                <div><span></span><font face="Arial"><font color="#0000ff"><font size="2">C<span>harlie</span></font></font></font><br></div>
                                <blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:rgb(0,0,255) 2px solid;margin-right:0px">
                                <div lang="en-us" dir="ltr" align="left">
                                <hr>
                                <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a> 
                                [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] 
                                <b>On Behalf Of </b>Simone 
                                Busoli<br><b>Sent:</b> Monday, August 11, 2008 
                                7:11 AM<br><b>To:</b> <a href="mailto:[email protected]" target="_blank">[email protected]</a><br><b>Subject:</b> 
                                [Nunit-users] 
                                Is.Serializable<br></font><br></div>
                                <div>
                                <div></div>
                                <div dir="ltr">With regards to: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2028517&amp;group_id=10749&amp;atid=360749" target="_blank">http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2028517&amp;group_id=10749&amp;atid=360749</a><br>

<br>I 
                                have implemented a SerializableConstraint 
                                accessible via Is.Serializable. The match is 
                                true if serialization to and deserialization 
                                from a memory stream via a BinaryFormatter both 
                                succeed and the deserialized object is not null. 
                                Otherwise the match returns 
                                false.<br></div></div></blockquote></div></blockquote></div><br></div></div></div></blockquote></div></blockquote></div><br></div></div></div></blockquote></div></blockquote></div><br></div>

</div></div></div></blockquote></div></blockquote></div><br></div></div></div></blockquote></div></blockquote></div><br></div></div></div></div></blockquote></div></blockquote></div><br></div></div></div></blockquote></div>

</blockquote></div><br></div></div></div></div></blockquote></div></blockquote></div><br></div></div></div></blockquote></div>
</blockquote></div><br></div>

------=_Part_95282_4715849.1221003096804--


--===============1202299576==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
--===============1202299576==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Nunit-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nunit-users

--===============1202299576==--