<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>classtester Work Item Rss Feed</title><link>http://www.codeplex.com/classtester/WorkItem/List.aspx</link><description>classtester Work Item Rss Description</description><item><title>COMMENTED ISSUE: Add support for Abstract Types and Interfaces to the TypeFactory</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3093</link><description>Use a mock repository to add support for abstract types &amp;#40;abstract classes and interfaces&amp;#41; to the TypeFactory&lt;br /&gt;Comments: ** Comment from web user: furie ** &lt;p&gt;This can be done now by extending the TypeFactory an instance of it to a tester constructor.&lt;br /&gt;using Castle.Core.Interceptor&amp;#59;&lt;br /&gt;using Castle.DynamicProxy&amp;#59;&lt;br /&gt;public class MyTypeFactory &amp;#58; TypeFactory&lt;br /&gt;&amp;#123;&lt;br /&gt;static ProxyGenerator proxyGenerator &amp;#61; new ProxyGenerator&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;public override object CreateRandomValue&amp;#40;Type type&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;if &amp;#40;type.IsInterface&amp;#41;&lt;br /&gt; return proxyGenerator.CreateInterfaceProxyWithoutTarget&amp;#40;type, new StandardInterceptor&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;return base.CreateRandomValue&amp;#40;type&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;public override bool CanCreateInstance&amp;#40;Type type&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;bool result &amp;#61; base.CanCreateInstance&amp;#40;type&amp;#41;&amp;#59;&lt;br /&gt;if &amp;#40;&amp;#33;result&amp;#41;&lt;br /&gt; result &amp;#61; type.IsInterface &amp;#38;&amp;#38; &amp;#33;type.IsGenericTypeDefinition&amp;#59;&lt;br /&gt;retur result&amp;#59;&lt;br /&gt;&amp;#125;&lt;/p&gt;</description><author>furie</author><pubDate>Thu, 07 Feb 2008 15:28:30 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Add support for Abstract Types and Interfaces to the TypeFactory 20080207032830P</guid></item><item><title>COMMENTED ISSUE: PropertyChecker to optionally test properties throw ArgumentNullException when setting null value</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3543</link><description>Often a precondition of a property is that the value set is non null and therefore the property should throw an ArgumentNullExtension. Would be good to switch this checking on at class level. Also optionally checking string.Empty throws would be great also.&lt;br /&gt;Comments: ** Comment from web user: furie ** &lt;p&gt;Actually I think this would be better implemented as a seperate &amp;#39;NullParam&amp;#39; tester that tested Constructors, Properties, and Methods.&lt;/p&gt;</description><author>furie</author><pubDate>Thu, 07 Feb 2008 15:16:59 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: PropertyChecker to optionally test properties throw ArgumentNullException when setting null value 20080207031659P</guid></item><item><title>CREATED ISSUE: PropertyChecker to optionally test properties throw ArgumentNullException when setting null value</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3543</link><description>Often a precondition of a property is that the value set is non null and therefore the property should throw an ArgumentNullExtension. Would be good to switch this checking on at class level. Also optionally checking string.Empty throws would be great also.&lt;br /&gt;</description><author>furie</author><pubDate>Thu, 07 Feb 2008 11:12:34 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: PropertyChecker to optionally test properties throw ArgumentNullException when setting null value 20080207111234A</guid></item><item><title>COMMENTED ISSUE: Add support for Abstract Types and Interfaces to the TypeFactory</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3093</link><description>Use a mock repository to add support for abstract types &amp;#40;abstract classes and interfaces&amp;#41; to the TypeFactory&lt;br /&gt;Comments: ** Comment from web user: furie ** &lt;p&gt;Consider using Castle DynamicProxy 2 to create an instance of an abstract class. It&amp;#39;s lightweight, quick and simple. RhinoMocks uses it to create its mocks.&lt;/p&gt;</description><author>furie</author><pubDate>Thu, 07 Feb 2008 10:59:53 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Add support for Abstract Types and Interfaces to the TypeFactory 20080207105953A</guid></item><item><title>CREATED ISSUE: Strongly signed assemblies</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3432</link><description>Hello,&lt;br /&gt;&lt;br /&gt;Thanks for a great tool and a great idea. The only thing I really miss is being able to use the library in a strongly signed test projects. Would it be possible for you to include this in the next release&amp;#63;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Igor&lt;br /&gt;</description><author>igorbrejc</author><pubDate>Wed, 30 Jan 2008 08:18:51 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Strongly signed assemblies 20080130081851A</guid></item><item><title>COMMENTED ISSUE: Compare two provided objects instead of comparing randomly generated value</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3129</link><description>Comparing randomly genrated values is great for detecting bugs where a public property uses the wrong private field. Another test that would also be very useful is to compare all the properties of two provided objects. What I&amp;#39;m envisioning is something like this &amp;#40;this is only psendo-code&amp;#41;&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#91;TestMethod&amp;#93;&lt;br /&gt;public void TestPerson&amp;#40;&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    Person p1 &amp;#61; new Person&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;    p1.Name &amp;#61; &amp;#34;Bob Smith&amp;#34;&amp;#59;&lt;br /&gt;    string personId &amp;#61; MyDAL.Save&amp;#40;p1&amp;#41;&amp;#59;&lt;br /&gt;    Person p2 &amp;#61; MyDAL.Fetch&amp;#40;personId&amp;#41;&amp;#59;&lt;br /&gt;    PropertyTester tester &amp;#61; new PropertyTester&amp;#40;p1, p2&amp;#41;&amp;#59;&lt;br /&gt;    tester.TestProperties&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: ** Comment from web user: Jericho ** &lt;p&gt;I just submitted a patch with the code for a &amp;#34;PropertyComparer&amp;#34; class that will compare all the properties on two objects to make sure that the values are the same.&lt;/p&gt;</description><author>Jericho</author><pubDate>Fri, 11 Jan 2008 17:14:27 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Compare two provided objects instead of comparing randomly generated value 20080111051427P</guid></item><item><title>CLOSED ISSUE: Add support for creation of Arrays to TypeFactory</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3097</link><description>TypeFactory can&amp;#39;t currently create arrays &amp;#40;e.g. object&amp;#91;&amp;#93;&amp;#41;&lt;br /&gt;</description><author>molmorg</author><pubDate>Wed, 09 Jan 2008 17:31:08 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Add support for creation of Arrays to TypeFactory 20080109053108P</guid></item><item><title>CREATED ISSUE: Compare two provided objects instead of comparing randomly generated value</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3129</link><description>Comparing randomly genrated values is great for detecting bugs where a public property uses the wrong private field. Another test that would also be very useful is to compare all the properties of two provided objects. What I&amp;#39;m envisioning is something like this &amp;#40;this is only psendo-code&amp;#41;&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#91;TestMethod&amp;#93;&lt;br /&gt;public void TestPerson&amp;#40;&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    Person p1 &amp;#61; new Person&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;    p1.Name &amp;#61; &amp;#34;Bob Smith&amp;#34;&amp;#59;&lt;br /&gt;    string personId &amp;#61; MyDAL.Save&amp;#40;p1&amp;#41;&amp;#59;&lt;br /&gt;    Person p2 &amp;#61; MyDAL.Fetch&amp;#40;personId&amp;#41;&amp;#59;&lt;br /&gt;    PropertyTester tester &amp;#61; new PropertyTester&amp;#40;p1, p2&amp;#41;&amp;#59;&lt;br /&gt;    tester.TestProperties&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;</description><author>Jericho</author><pubDate>Mon, 07 Jan 2008 16:14:48 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Compare two provided objects instead of comparing randomly generated value 20080107041448P</guid></item><item><title>CREATED ISSUE: Exclude class property when testing Assembly</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3127</link><description>The Assembly tester currently allows to exclude an entire namespace or an entire class but it would be great to also be able to exclude a specific property of a specific class. For example&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#91;code&amp;#93;&lt;br /&gt;&amp;#91;Test&amp;#93;&lt;br /&gt;public void AssemblyTester_PassWithExclusions&amp;#40;&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    AssemblyTester tester &amp;#61; new AssemblyTester&amp;#40;&amp;#34;ExampleAssembly&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;    tester.Exclusions.AddProperty&amp;#40;&amp;#34;ExampleAssembly.SomeNamespace.SomeClass&amp;#34;, &amp;#34;PropertyName&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;    tester.TestAssembly&amp;#40;true, true&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#91;&amp;#47;code&amp;#93;&lt;br /&gt;</description><author>Jericho</author><pubDate>Mon, 07 Jan 2008 16:05:18 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Exclude class property when testing Assembly 20080107040518P</guid></item><item><title>CREATED ISSUE: Improved error reporting from AssemblyTester</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3098</link><description>Currently, because the AssemblyTester aggregates errors there it can be difficult to trace back what went wrong and there is no callstack&lt;br /&gt;</description><author>molmorg</author><pubDate>Fri, 04 Jan 2008 14:40:18 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Improved error reporting from AssemblyTester 20080104024018P</guid></item><item><title>CREATED ISSUE: Add support for creation of Arrays to TypeFactory</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3097</link><description>TypeFactory can&amp;#39;t currently create arrays &amp;#40;e.g. object&amp;#91;&amp;#93;&amp;#41;&lt;br /&gt;</description><author>molmorg</author><pubDate>Fri, 04 Jan 2008 14:39:12 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Add support for creation of Arrays to TypeFactory 20080104023912P</guid></item><item><title>CREATED ISSUE: Make the TypeFactory provider based</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3096</link><description>Change the way the TypeFactory is referenced to make it pluggable and extendable so I can provide my own TypeFactory or extend the existing one.&lt;br /&gt;</description><author>molmorg</author><pubDate>Fri, 04 Jan 2008 14:11:34 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Make the TypeFactory provider based 20080104021134P</guid></item><item><title>CREATED ISSUE: Add support for creating types with non-default constructors to the TypeFactory</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3094</link><description>Make the TypeFactory support types with non default constructors by using the TypeFactory to create the types required by the constructor.&lt;br /&gt;</description><author>molmorg</author><pubDate>Fri, 04 Jan 2008 13:02:34 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Add support for creating types with non-default constructors to the TypeFactory 20080104010234P</guid></item><item><title>CREATED ISSUE: Add support for Abstract Types and Interfaces to the TypeFactory</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=3093</link><description>Use a mock repository to add support for abstract types &amp;#40;abstract classes and interfaces&amp;#41; to the TypeFactory&lt;br /&gt;</description><author>molmorg</author><pubDate>Fri, 04 Jan 2008 13:00:51 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Add support for Abstract Types and Interfaces to the TypeFactory 20080104010051P</guid></item><item><title>CLOSED ISSUE: Remove Code Duplication from TestConstructors and TryCreateInstanstanceFromConstructor</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=862</link><description>There is a huge body of code that&amp;#39;s almost identical in the ConstructorTester.TestConstructors method and the AssemblyTester.TryCreateInstanstanceFromConstructor method. This should probably be factored out into the new TypeFactory.&lt;br /&gt;</description><author>molmorg</author><pubDate>Thu, 03 Jan 2008 14:45:29 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Remove Code Duplication from TestConstructors and TryCreateInstanstanceFromConstructor 20080103024529P</guid></item><item><title>CLOSED FEATURE: Ability to ignore constructors</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=771</link><description>Ability to specify Constructors to be ignored as part of the TestConstructors method.&lt;br /&gt;&lt;br /&gt;This would probably be require a change to an instance based method rather than a static one.&amp;#160;For example&lt;br /&gt;&lt;br /&gt;ConstructorTester tester &amp;#61; new ConstructorTester&amp;#40;typeof&amp;#40;MyClass&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47; specify the signature of the constructor to ignore - IgnoreConstructor&amp;#40;params Type types&amp;#41;&amp;#59;&lt;br /&gt;tester.IgnoreConstructor&amp;#40;typeof&amp;#40;string&amp;#41;, typeof&amp;#40;bool&amp;#41;, typeof&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;tester.Test&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;For consistency we should probably change the ClassTester&amp;#39;s class name to PropertyTester &amp;#40;but keep the ClassTester &amp;#91;inherit from PropertyTester&amp;#93; and mark obsolete to remain backwards compatible&amp;#41;.&lt;br /&gt;</description><author>molmorg</author><pubDate>Thu, 03 Jan 2008 14:45:21 GMT</pubDate><guid isPermaLink="false">CLOSED FEATURE: Ability to ignore constructors 20080103024521P</guid></item><item><title>CLOSED FEATURE: Create AssemblyTester</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=772</link><description>Design an approach to automate testing all properties and all constructors within an assembly.&lt;br /&gt;&lt;br /&gt;Might be nice to have some exclusions - just some ideas here&lt;br /&gt;&lt;br /&gt;AssemblyTester tester &amp;#61; new AssemblyTester&amp;#40;TODO - decide how best to specify an assembly&amp;#41;&amp;#59;&lt;br /&gt;tester.Exclusions.Add&amp;#40;&amp;#34;YourNamespace.YourClass&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;tester.Exclusions.Add&amp;#40;typeof&amp;#40;YourClass&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47; second parameter could specify whether to exclude sub namespaces&lt;br /&gt;tester.Exclusions.AddNamespace&amp;#40;&amp;#34;YourNamespace&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#47;&amp;#47; probably better to have separate methods so you don&amp;#39;t have to do both if you don&amp;#39;t want to - could always have an extra method that supports both&lt;br /&gt;tester.TestProperties&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;tester.TestConstructors&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;</description><author>molmorg</author><pubDate>Thu, 03 Jan 2008 14:41:04 GMT</pubDate><guid isPermaLink="false">CLOSED FEATURE: Create AssemblyTester 20080103024104P</guid></item><item><title>CREATED ISSUE: Remove Code Duplication from TestConstructors and TryCreateInstanstanceFromConstructor</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=862</link><description>There is a huge body of code that&amp;#39;s almost identical in the ConstructorTester.TestConstructors method and the AssemblyTester.TryCreateInstanstanceFromConstructor method. This should probably be factored out into the new TypeFactory.&lt;br/&gt;</description><author>molmorg</author><pubDate>Fri, 17 Aug 2007 09:39:37 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Remove Code Duplication from TestConstructors and TryCreateInstanstanceFromConstructor 20070817093937A</guid></item><item><title>CREATED FEATURE: Create AssemblyTester</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=772</link><description>Design an approach to automate testing all properties and all constructors within an assembly.&lt;br /&gt;&lt;br /&gt;Might be nice to have some exclusions - just some ideas here&lt;br /&gt;&lt;br /&gt;AssemblyTester tester &amp;#61; new AssemblyTester&amp;#40;TODO - decide how best to specify an assembly&amp;#41;&amp;#59;&lt;br /&gt;tester.Exclusions.Add&amp;#40;&amp;#34;YourNamespace.YourClass&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;tester.Exclusions.Add&amp;#40;typeof&amp;#40;YourClass&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47; second parameter could specify whether to exclude sub namespaces&lt;br /&gt;tester.Exclusions.AddNamespace&amp;#40;&amp;#34;YourNamespace&amp;#34;, true&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#47;&amp;#47; probably better to have separate methods so you don&amp;#39;t have to do both if you don&amp;#39;t want to - could always have an extra method that supports both&lt;br /&gt;tester.TestProperties&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;tester.TestConstructors&amp;#40;&amp;#41;&amp;#59;&lt;br/&gt;</description><author>molmorg</author><pubDate>Fri, 10 Aug 2007 13:54:34 GMT</pubDate><guid isPermaLink="false">CREATED FEATURE: Create AssemblyTester 20070810015434P</guid></item><item><title>CREATED FEATURE: Ability to ignore constructors</title><link>http://www.codeplex.com/classtester/WorkItem/View.aspx?WorkItemId=771</link><description>Ability to specify Constructors to be ignored as part of the TestConstructors method.&lt;br /&gt;&lt;br /&gt;This would probably be require a change to an instance based method rather than a static one.&amp;#160;For example&lt;br /&gt;&lt;br /&gt;ConstructorTester tester &amp;#61; new ConstructorTester&amp;#40;typeof&amp;#40;MyClass&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#47;&amp;#47; specify the signature of the constructor to ignore - IgnoreConstructor&amp;#40;params Type types&amp;#41;&amp;#59;&lt;br /&gt;tester.IgnoreConstructor&amp;#40;typeof&amp;#40;string&amp;#41;, typeof&amp;#40;bool&amp;#41;, typeof&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;tester.Test&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;For consistency we should probably change the ClassTester&amp;#39;s class name to PropertyTester &amp;#40;but keep the ClassTester &amp;#91;inherit from PropertyTester&amp;#93; from and mark obsolete to remain backwards compatible&amp;#41;.&lt;br/&gt;</description><author>molmorg</author><pubDate>Fri, 10 Aug 2007 13:38:52 GMT</pubDate><guid isPermaLink="false">CREATED FEATURE: Ability to ignore constructors 20070810013852P</guid></item></channel></rss>