Loading ...
Sorry, an error occurred while loading the content.

RE: [fitnesse] Re: upcoming release/fitnesse dot net improvements

Expand Messages
  • David Chelimsky
    Chris - Sounds like you ve got the solution. Wanna take a crack at it? ... From: Chris Gardner [mailto:chris_gardner76@yahoo.com] Sent: Thursday, September 09,
    Message 1 of 12 , Sep 10, 2004
    View Source
    • 0 Attachment
      Chris - Sounds like you've got the solution. Wanna take a crack at it?

      -----Original Message-----
      From: Chris Gardner [mailto:chris_gardner76@...]
      Sent: Thursday, September 09, 2004 11:14 PM
      To: fitnesse@yahoogroups.com
      Subject: [fitnesse] Re: upcoming release/fitnesse dot net improvements

      There may be a quick solution.

      Create a AdoDataTableRowFixture that inherits from RowFixture. It
      cycles through the DataColumns of each DataRow in the DataTable to
      determine the column names and types. From the column names and
      types it dynamically creates a Type via
      System.Reflection.Emit.TypeBuilder.

      AdoDataTableRowFixture.getTargetClass() (which overrides
      RowFixture.getTargetClass()) returns this dynamically created Type.

      AdoDataTableRowFixture.query() cycles through the DataTable object
      of interest doing the following:

      1. creating an instance of the dynamic type
      2. adding each DataColumn value for each DataRow of the DataTable to
      the appropriate member of the instance
      3. adding the instance to an object[]

      Finally, it returns the object[].

      This could be slow, but it seems to reduce the amount of work that
      would otherwise be done. It allows using a DataTable within the
      existing context of a RowFixture.



      --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
      wrote:
      > Thanks for the explanation. Your dilemma is clear and so are the
      benefits of
      > a DataTableFixture for your particular problem. I can tell you
      that we're
      > doing a release either tomorrow or early next week so even if we
      agree to do
      > this it won't be done for some time. I've added this to the list of
      > suggested stories up on http://fitnesse.org/SuggestedStories and
      will
      > discuss it further w/ Bob and Micah.
      >
      > Thanks Chris,
      > David
      >
      > -----Original Message-----
      > From: Chris Gardner [mailto:chris_gardner76@y...]
      > Sent: Wednesday, September 08, 2004 9:42 PM
      > To: fitnesse@yahoogroups.com
      > Subject: [fitnesse] Re: upcoming release/fitnesse dot net
      improvements
      >
      >
      > My current project is a mobile device (PDA) project that requires
      > synchronizing boatloads of data from a primary data source for
      > viewing offline. This application has such user stories
      > as "Synchronize Foo" and "Synchronize Bar" (and there are business
      > reasons that mandate synchronizing different subject areas
      > separately). Part of the synchronization process requires
      detecting
      > changes (additions, deletions, and updates) from the last time
      > things where synchronized. For this application, ADO.NET
      DataTables
      > are among the primary objects of interest. Sadly, there is no
      need
      > for any real domain objects or even data transfer objects.
      >
      > As the synchronization process takes place on the server side, I
      can
      > use FitNesse to test the synchronization functionality. To
      > test "Synchronize Foo", for example, I would probably use a
      > ColumnFixture to setup parts of the primary source database that
      > deal with the "Foo" subject area, another ColumnFixture to execute
      > synchronization, and this proposed ADO.NET DataTableFixture to
      > verify that the data were properly synchronized (i.e., additions,
      > updates, and deletions were detected). The DataTableFixture would
      > obviate the need for my having to convert each row of a DataTable
      to
      > a struct or dumb data class and then populating an array, as
      > required by the RowFixture.
      >
      > Hence, my application is all about synchronizing data, and being
      > able to use ADO.NET with a Fit Fixture would make life grand.
      >
      > Thanks,
      >
      > Chris
      >
      >
      > --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
      > wrote:
      > > Thanks for the suggestion Chris. I'll have to give it some
      > thought. My
      > > instinct is that it sounds more "unit test"y than "acceptance
      > test"y. Unless
      > > you were testing a database technology directly - but then you'd
      > likely
      > > build custom fixtures anyhow.
      > >
      > > Anyone on the list think you'd like to see something like this?
      > >
      > > -----Original Message-----
      > > From: Chris Gardner [mailto:chris_gardner76@y...]
      > > Sent: Wednesday, September 08, 2004 6:11 PM
      > > To: fitnesse@yahoogroups.com
      > > Subject: [fitnesse] Re: upcoming release/fitnesse dot net
      > improvements
      > >
      > > Have you thought about having a RowFixture that uses an ADO.NET
      > > DataTable? The columns in the HTML table that FIT uses for such
      a
      > > RowFixture could be the column names of the DataTable.
      > >
      > > --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
      > > wrote:
      > > > Hiya all you dot net fitnesse folk. We've got a release coming
      > > soon (barring
      > > > unforseens, some time in the next few weeks) that will include
      a
      > > number of
      > > > improvements in dot net fitnesse (see
      > > > http://fitnesse.org/FitNesseDevelopment.DotNet for an up to
      date
      > > list).
      > > >
      > > >
      > > >
      > > > Please be aware that we are also making all publicly exposed
      > > fields,
      > > > properties and methods PascalCase (or UpperCamelCase if you
      > prefer:
      > > > http://c2.com/cgi/wiki?PascalCase) to conform with DotNet
      naming
      > > convention
      > > > (except object and string, of course). Right now some are
      > > camelCase (legacy
      > > > from the initial port from java) and some are PascalCase. This
      > > does mean
      > > > that existing fixtures will need to be changed in order to
      take
      > > advantage of
      > > > the new features, however it will provide ongoing consistency
      > when
      > > writing
      > > > new fixtures.
      > > >
      > > >
      > > >
      > > > Thanks,
      > > > David Chelimsky
      > > >
      > > > Object Mentor, Inc.
      > > >
      > > > www.objectmentor.com
      > >
      > >
      > >
      > >
      > >
      > > Yahoo! Groups Links
      >
      >
      >
      >
      >
      > Yahoo! Groups Links





      Yahoo! Groups Links
    • Chris Gardner
      I plan to try it soon. If it works well, would you be interested in incorporating it into a future release? ... it? ... improvements ... to ... of ...
      Message 2 of 12 , Sep 10, 2004
      View Source
      • 0 Attachment
        I plan to try it soon. If it works well, would you be interested in
        incorporating it into a future release?

        --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
        wrote:
        > Chris - Sounds like you've got the solution. Wanna take a crack at
        it?
        >
        > -----Original Message-----
        > From: Chris Gardner [mailto:chris_gardner76@y...]
        > Sent: Thursday, September 09, 2004 11:14 PM
        > To: fitnesse@yahoogroups.com
        > Subject: [fitnesse] Re: upcoming release/fitnesse dot net
        improvements
        >
        > There may be a quick solution.
        >
        > Create a AdoDataTableRowFixture that inherits from RowFixture. It
        > cycles through the DataColumns of each DataRow in the DataTable to
        > determine the column names and types. From the column names and
        > types it dynamically creates a Type via
        > System.Reflection.Emit.TypeBuilder.
        >
        > AdoDataTableRowFixture.getTargetClass() (which overrides
        > RowFixture.getTargetClass()) returns this dynamically created Type.
        >
        > AdoDataTableRowFixture.query() cycles through the DataTable object
        > of interest doing the following:
        >
        > 1. creating an instance of the dynamic type
        > 2. adding each DataColumn value for each DataRow of the DataTable
        to
        > the appropriate member of the instance
        > 3. adding the instance to an object[]
        >
        > Finally, it returns the object[].
        >
        > This could be slow, but it seems to reduce the amount of work that
        > would otherwise be done. It allows using a DataTable within the
        > existing context of a RowFixture.
        >
        >
        >
        > --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
        > wrote:
        > > Thanks for the explanation. Your dilemma is clear and so are the
        > benefits of
        > > a DataTableFixture for your particular problem. I can tell you
        > that we're
        > > doing a release either tomorrow or early next week so even if we
        > agree to do
        > > this it won't be done for some time. I've added this to the list
        of
        > > suggested stories up on http://fitnesse.org/SuggestedStories and
        > will
        > > discuss it further w/ Bob and Micah.
        > >
        > > Thanks Chris,
        > > David
        > >
        > > -----Original Message-----
        > > From: Chris Gardner [mailto:chris_gardner76@y...]
        > > Sent: Wednesday, September 08, 2004 9:42 PM
        > > To: fitnesse@yahoogroups.com
        > > Subject: [fitnesse] Re: upcoming release/fitnesse dot net
        > improvements
        > >
        > >
        > > My current project is a mobile device (PDA) project that
        requires
        > > synchronizing boatloads of data from a primary data source for
        > > viewing offline. This application has such user stories
        > > as "Synchronize Foo" and "Synchronize Bar" (and there are
        business
        > > reasons that mandate synchronizing different subject areas
        > > separately). Part of the synchronization process requires
        > detecting
        > > changes (additions, deletions, and updates) from the last time
        > > things where synchronized. For this application, ADO.NET
        > DataTables
        > > are among the primary objects of interest. Sadly, there is no
        > need
        > > for any real domain objects or even data transfer objects.
        > >
        > > As the synchronization process takes place on the server side, I
        > can
        > > use FitNesse to test the synchronization functionality. To
        > > test "Synchronize Foo", for example, I would probably use a
        > > ColumnFixture to setup parts of the primary source database that
        > > deal with the "Foo" subject area, another ColumnFixture to
        execute
        > > synchronization, and this proposed ADO.NET DataTableFixture to
        > > verify that the data were properly synchronized (i.e.,
        additions,
        > > updates, and deletions were detected). The DataTableFixture
        would
        > > obviate the need for my having to convert each row of a
        DataTable
        > to
        > > a struct or dumb data class and then populating an array, as
        > > required by the RowFixture.
        > >
        > > Hence, my application is all about synchronizing data, and being
        > > able to use ADO.NET with a Fit Fixture would make life grand.
        > >
        > > Thanks,
        > >
        > > Chris
        > >
        > >
        > > --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
        > > wrote:
        > > > Thanks for the suggestion Chris. I'll have to give it some
        > > thought. My
        > > > instinct is that it sounds more "unit test"y than "acceptance
        > > test"y. Unless
        > > > you were testing a database technology directly - but then
        you'd
        > > likely
        > > > build custom fixtures anyhow.
        > > >
        > > > Anyone on the list think you'd like to see something like
        this?
        > > >
        > > > -----Original Message-----
        > > > From: Chris Gardner [mailto:chris_gardner76@y...]
        > > > Sent: Wednesday, September 08, 2004 6:11 PM
        > > > To: fitnesse@yahoogroups.com
        > > > Subject: [fitnesse] Re: upcoming release/fitnesse dot net
        > > improvements
        > > >
        > > > Have you thought about having a RowFixture that uses an
        ADO.NET
        > > > DataTable? The columns in the HTML table that FIT uses for
        such
        > a
        > > > RowFixture could be the column names of the DataTable.
        > > >
        > > > --- In fitnesse@yahoogroups.com, "David Chelimsky"
        <david@o...>
        > > > wrote:
        > > > > Hiya all you dot net fitnesse folk. We've got a release
        coming
        > > > soon (barring
        > > > > unforseens, some time in the next few weeks) that will
        include
        > a
        > > > number of
        > > > > improvements in dot net fitnesse (see
        > > > > http://fitnesse.org/FitNesseDevelopment.DotNet for an up to
        > date
        > > > list).
        > > > >
        > > > >
        > > > >
        > > > > Please be aware that we are also making all publicly exposed
        > > > fields,
        > > > > properties and methods PascalCase (or UpperCamelCase if you
        > > prefer:
        > > > > http://c2.com/cgi/wiki?PascalCase) to conform with DotNet
        > naming
        > > > convention
        > > > > (except object and string, of course). Right now some are
        > > > camelCase (legacy
        > > > > from the initial port from java) and some are PascalCase.
        This
        > > > does mean
        > > > > that existing fixtures will need to be changed in order to
        > take
        > > > advantage of
        > > > > the new features, however it will provide ongoing
        consistency
        > > when
        > > > writing
        > > > > new fixtures.
        > > > >
        > > > >
        > > > >
        > > > > Thanks,
        > > > > David Chelimsky
        > > > >
        > > > > Object Mentor, Inc.
        > > > >
        > > > > www.objectmentor.com
        > > >
        > > >
        > > >
        > > >
        > > >
        > > > Yahoo! Groups Links
        > >
        > >
        > >
        > >
        > >
        > > Yahoo! Groups Links
        >
        >
        >
        >
        >
        > Yahoo! Groups Links
      • David Chelimsky
        I would definitely consider it. One thing to keep in mind is that the innards of RowFixture might change a bit before the next release. The release that s
        Message 3 of 12 , Sep 10, 2004
        View Source
        • 0 Attachment
          I would definitely consider it. One thing to keep in mind is that the
          innards of RowFixture might change a bit before the next release. The
          release that's coming today has a framework for processing cells in
          ColumnFixtures that doesn't yet work for RowFixture. If the feedback I get
          on the CellHandler framework is positive, I'll want to refactor RowFixture
          to support the CellHandlers, so I'd give it a week or two before diving in.
          But I'd definitely be interested in seeing what you come up with.

          Thanks Chris,
          David

          -----Original Message-----
          From: Chris Gardner [mailto:chris_gardner76@...]
          Sent: Friday, September 10, 2004 7:55 AM
          To: fitnesse@yahoogroups.com
          Subject: [fitnesse] Re: upcoming release/fitnesse dot net improvements

          I plan to try it soon. If it works well, would you be interested in
          incorporating it into a future release?

          --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
          wrote:
          > Chris - Sounds like you've got the solution. Wanna take a crack at
          it?
          >
          > -----Original Message-----
          > From: Chris Gardner [mailto:chris_gardner76@y...]
          > Sent: Thursday, September 09, 2004 11:14 PM
          > To: fitnesse@yahoogroups.com
          > Subject: [fitnesse] Re: upcoming release/fitnesse dot net
          improvements
          >
          > There may be a quick solution.
          >
          > Create a AdoDataTableRowFixture that inherits from RowFixture. It
          > cycles through the DataColumns of each DataRow in the DataTable to
          > determine the column names and types. From the column names and
          > types it dynamically creates a Type via
          > System.Reflection.Emit.TypeBuilder.
          >
          > AdoDataTableRowFixture.getTargetClass() (which overrides
          > RowFixture.getTargetClass()) returns this dynamically created Type.
          >
          > AdoDataTableRowFixture.query() cycles through the DataTable object
          > of interest doing the following:
          >
          > 1. creating an instance of the dynamic type
          > 2. adding each DataColumn value for each DataRow of the DataTable
          to
          > the appropriate member of the instance
          > 3. adding the instance to an object[]
          >
          > Finally, it returns the object[].
          >
          > This could be slow, but it seems to reduce the amount of work that
          > would otherwise be done. It allows using a DataTable within the
          > existing context of a RowFixture.
          >
          >
          >
          > --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
          > wrote:
          > > Thanks for the explanation. Your dilemma is clear and so are the
          > benefits of
          > > a DataTableFixture for your particular problem. I can tell you
          > that we're
          > > doing a release either tomorrow or early next week so even if we
          > agree to do
          > > this it won't be done for some time. I've added this to the list
          of
          > > suggested stories up on http://fitnesse.org/SuggestedStories and
          > will
          > > discuss it further w/ Bob and Micah.
          > >
          > > Thanks Chris,
          > > David
          > >
          > > -----Original Message-----
          > > From: Chris Gardner [mailto:chris_gardner76@y...]
          > > Sent: Wednesday, September 08, 2004 9:42 PM
          > > To: fitnesse@yahoogroups.com
          > > Subject: [fitnesse] Re: upcoming release/fitnesse dot net
          > improvements
          > >
          > >
          > > My current project is a mobile device (PDA) project that
          requires
          > > synchronizing boatloads of data from a primary data source for
          > > viewing offline. This application has such user stories
          > > as "Synchronize Foo" and "Synchronize Bar" (and there are
          business
          > > reasons that mandate synchronizing different subject areas
          > > separately). Part of the synchronization process requires
          > detecting
          > > changes (additions, deletions, and updates) from the last time
          > > things where synchronized. For this application, ADO.NET
          > DataTables
          > > are among the primary objects of interest. Sadly, there is no
          > need
          > > for any real domain objects or even data transfer objects.
          > >
          > > As the synchronization process takes place on the server side, I
          > can
          > > use FitNesse to test the synchronization functionality. To
          > > test "Synchronize Foo", for example, I would probably use a
          > > ColumnFixture to setup parts of the primary source database that
          > > deal with the "Foo" subject area, another ColumnFixture to
          execute
          > > synchronization, and this proposed ADO.NET DataTableFixture to
          > > verify that the data were properly synchronized (i.e.,
          additions,
          > > updates, and deletions were detected). The DataTableFixture
          would
          > > obviate the need for my having to convert each row of a
          DataTable
          > to
          > > a struct or dumb data class and then populating an array, as
          > > required by the RowFixture.
          > >
          > > Hence, my application is all about synchronizing data, and being
          > > able to use ADO.NET with a Fit Fixture would make life grand.
          > >
          > > Thanks,
          > >
          > > Chris
          > >
          > >
          > > --- In fitnesse@yahoogroups.com, "David Chelimsky" <david@o...>
          > > wrote:
          > > > Thanks for the suggestion Chris. I'll have to give it some
          > > thought. My
          > > > instinct is that it sounds more "unit test"y than "acceptance
          > > test"y. Unless
          > > > you were testing a database technology directly - but then
          you'd
          > > likely
          > > > build custom fixtures anyhow.
          > > >
          > > > Anyone on the list think you'd like to see something like
          this?
          > > >
          > > > -----Original Message-----
          > > > From: Chris Gardner [mailto:chris_gardner76@y...]
          > > > Sent: Wednesday, September 08, 2004 6:11 PM
          > > > To: fitnesse@yahoogroups.com
          > > > Subject: [fitnesse] Re: upcoming release/fitnesse dot net
          > > improvements
          > > >
          > > > Have you thought about having a RowFixture that uses an
          ADO.NET
          > > > DataTable? The columns in the HTML table that FIT uses for
          such
          > a
          > > > RowFixture could be the column names of the DataTable.
          > > >
          > > > --- In fitnesse@yahoogroups.com, "David Chelimsky"
          <david@o...>
          > > > wrote:
          > > > > Hiya all you dot net fitnesse folk. We've got a release
          coming
          > > > soon (barring
          > > > > unforseens, some time in the next few weeks) that will
          include
          > a
          > > > number of
          > > > > improvements in dot net fitnesse (see
          > > > > http://fitnesse.org/FitNesseDevelopment.DotNet for an up to
          > date
          > > > list).
          > > > >
          > > > >
          > > > >
          > > > > Please be aware that we are also making all publicly exposed
          > > > fields,
          > > > > properties and methods PascalCase (or UpperCamelCase if you
          > > prefer:
          > > > > http://c2.com/cgi/wiki?PascalCase) to conform with DotNet
          > naming
          > > > convention
          > > > > (except object and string, of course). Right now some are
          > > > camelCase (legacy
          > > > > from the initial port from java) and some are PascalCase.
          This
          > > > does mean
          > > > > that existing fixtures will need to be changed in order to
          > take
          > > > advantage of
          > > > > the new features, however it will provide ongoing
          consistency
          > > when
          > > > writing
          > > > > new fixtures.
          > > > >
          > > > >
          > > > >
          > > > > Thanks,
          > > > > David Chelimsky
          > > > >
          > > > > Object Mentor, Inc.
          > > > >
          > > > > www.objectmentor.com
          > > >
          > > >
          > > >
          > > >
          > > >
          > > > Yahoo! Groups Links
          > >
          > >
          > >
          > >
          > >
          > > Yahoo! Groups Links
          >
          >
          >
          >
          >
          > Yahoo! Groups Links





          Yahoo! Groups Links
        • Mark Wilcox
          Are there instructions/best practices for linking to images (for example UML diagrams, screenshots) and/or other related project media (for example a word doc
          Message 4 of 12 , Sep 10, 2004
          View Source
          • 0 Attachment
            Are there instructions/best practices for linking to images (for example UML
            diagrams, screenshots) and/or other related project media (for example a
            word doc that has captured some of the design criteria) from within the
            Wiki?

            I'm really keen on exploring how to use Fitnesse, not just for it's easy to
            run testing features, but really exploiting the combination of the Wiki and
            user generated-tests as a way to capture all of the project components in
            one spot.

            Thanks,
            Mark
          • Micah Martin
            You can link to any resource from FitNesse by simply putting the URL of the resource in a wiki page(http://fitnesse.org/FitNesse.MarkupExternalLink). If it s
            Message 5 of 12 , Sep 13, 2004
            View Source
            • 0 Attachment
              You can link to any resource from FitNesse by simply putting the URL of
              the resource in a wiki
              page(http://fitnesse.org/FitNesse.MarkupExternalLink). If it's a link
              you'd like to include, use the !img widget
              (http://fitnesse.org/FitNesse.MarkupPicture).

              Furthermore you can upload files into FitNesse's file section and
              reference resources in there
              (http://fitnesse.org/FitNesse.FilesSection).

              I think you've got a good vision of how to take full advantage of
              FitNesse within a project. Let us know what improvements we can make
              to FitNesse to better suit the needs of you and your team.

              Micah Martin
              Object Mentor, Inc.
              www.objectmentor.com

              On Sep 10, 2004, at 10:41 AM, Mark Wilcox wrote:

              > Are there instructions/best practices for linking to images (for
              > example UML
              > diagrams, screenshots) and/or other related project media (for example
              > a
              > word doc that has captured some of the design criteria) from within the
              > Wiki?
              >
              > I'm really keen on exploring how to use Fitnesse, not just for it's
              > easy to
              > run testing features, but really exploiting the combination of the
              > Wiki and
              > user generated-tests as a way to capture all of the project components
              > in
              > one spot.
              >
              > Thanks,
              > Mark
              >
              >
              >
              >
              >
              > Yahoo! Groups Links
              >
              >
              >
              >
              >
            Your message has been successfully submitted and would be delivered to recipients shortly.