<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.campisano.org/wiki/Cppunit/history?feed=atom</id>
	<title>Cppunit - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.campisano.org/wiki/Cppunit/history?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://www.campisano.org/wiki/Cppunit/history"/>
	<updated>2026-04-30T21:54:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://www.campisano.org/mediawiki/index.php?title=Cppunit&amp;diff=71&amp;oldid=prev</id>
		<title>T1t0 at 00:42, 14 March 2021</title>
		<link rel="alternate" type="text/html" href="https://www.campisano.org/mediawiki/index.php?title=Cppunit&amp;diff=71&amp;oldid=prev"/>
		<updated>2021-03-14T00:42:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:42, 14 March 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l629&quot;&gt;Line 629:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 629:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://sourceforge.net/projects/cppunit/ CppUnit Home site]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://sourceforge.net/projects/cppunit/ CppUnit Home site]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.freedesktop.org/wiki/Software/cppunit/ CppUnit &amp;#039;continuation&amp;#039; by freedesktop.org]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.freedesktop.org/wiki/Software/cppunit/ CppUnit &amp;#039;continuation&amp;#039; by freedesktop.org]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:develop]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:develop]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:cpp]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c/&lt;/ins&gt;cpp]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:test]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:test]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>T1t0</name></author>
	</entry>
	<entry>
		<id>https://www.campisano.org/mediawiki/index.php?title=Cppunit&amp;diff=70&amp;oldid=prev</id>
		<title>T1t0 at 03:26, 14 February 2021</title>
		<link rel="alternate" type="text/html" href="https://www.campisano.org/mediawiki/index.php?title=Cppunit&amp;diff=70&amp;oldid=prev"/>
		<updated>2021-02-14T03:26:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:26, 14 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l633&quot;&gt;Line 633:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 633:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:develop]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:develop]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c++&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cpp]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:test&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>T1t0</name></author>
	</entry>
	<entry>
		<id>https://www.campisano.org/mediawiki/index.php?title=Cppunit&amp;diff=69&amp;oldid=prev</id>
		<title>imported&gt;T1t0 at 19:23, 6 October 2014</title>
		<link rel="alternate" type="text/html" href="https://www.campisano.org/mediawiki/index.php?title=Cppunit&amp;diff=69&amp;oldid=prev"/>
		<updated>2014-10-06T19:23:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:23, 6 October 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l622&quot;&gt;Line 622:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 622:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//// End ShippingAddress.cpp ////&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//// End ShippingAddress.cpp ////&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= References =&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [http://sourceforge.net/projects/cppunit/ CppUnit Home site]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [http://www.freedesktop.org/wiki/Software/cppunit/ CppUnit &#039;continuation&#039; by freedesktop.org]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:develop]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:c++]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;T1t0</name></author>
	</entry>
	<entry>
		<id>https://www.campisano.org/mediawiki/index.php?title=Cppunit&amp;diff=68&amp;oldid=prev</id>
		<title>imported&gt;T1t0: 1 revision</title>
		<link rel="alternate" type="text/html" href="https://www.campisano.org/mediawiki/index.php?title=Cppunit&amp;diff=68&amp;oldid=prev"/>
		<updated>2011-08-28T05:54:35Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= CppUnit HowTo =&lt;br /&gt;
&lt;br /&gt;
...This article is a STUB...&lt;br /&gt;
&lt;br /&gt;
First of all, we need dev packages of cppunit library: see your distribution-specific package manager to obtain it. Example: for debian users, a simple &amp;lt;code&amp;gt;apt-get install libcppunit-dev&amp;lt;/code&amp;gt; should work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Let&amp;#039;s go to define some behaviors to check: ==&lt;br /&gt;
&lt;br /&gt;
Our client ask us to implement his online store, and he define some rules for his customers doing an order:&lt;br /&gt;
&lt;br /&gt;
- guest client can do an order with a open state;&lt;br /&gt;
&lt;br /&gt;
- a valid order must indicate a registered customer, at least a product, a shipping address and a payment method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== So, to implement this behaviors, we can define 5 test: ==&lt;br /&gt;
&lt;br /&gt;
//// TestOrder.h ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef TEST_ORDER_H_&lt;br /&gt;
#define TEST_ORDER_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;cppunit/extensions/HelperMacros.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class TestOrder : public CppUnit::TestFixture&lt;br /&gt;
{&lt;br /&gt;
  CPPUNIT_TEST_SUITE(TestOrder);&lt;br /&gt;
  CPPUNIT_TEST(testNewOrderStateOpen);&lt;br /&gt;
  CPPUNIT_TEST(testValidOrderMustHaveCustomer);&lt;br /&gt;
  CPPUNIT_TEST(testValidOrderMustHaveSomeProduct);&lt;br /&gt;
  CPPUNIT_TEST(testValidOrderMustHaveShippingAddress);&lt;br /&gt;
  CPPUNIT_TEST(testValidOrderMustHavePaymentMethod);&lt;br /&gt;
  CPPUNIT_TEST_SUITE_END();&lt;br /&gt;
  &lt;br /&gt;
  public:&lt;br /&gt;
    void testNewOrderStateOpen();&lt;br /&gt;
    void testValidOrderMustHaveCustomer();&lt;br /&gt;
    void testValidOrderMustHaveSomeProduct();&lt;br /&gt;
    void testValidOrderMustHaveShippingAddress();&lt;br /&gt;
    void testValidOrderMustHavePaymentMethod();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//// END TestOrder.h ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// TestOrder.cpp ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;TestOrder.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CPPUNIT_TEST_SUITE_REGISTRATION(TestOrder);&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testNewOrderStateOpen()&lt;br /&gt;
{&lt;br /&gt;
  CPPUNIT_FAIL(&amp;quot;Test not implemented&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testValidOrderMustHaveCustomer()&lt;br /&gt;
{&lt;br /&gt;
  CPPUNIT_FAIL(&amp;quot;Test not implemented&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testValidOrderMustHaveSomeProduct()&lt;br /&gt;
{&lt;br /&gt;
  CPPUNIT_FAIL(&amp;quot;Test not implemented&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testValidOrderMustHaveShippingAddress()&lt;br /&gt;
{&lt;br /&gt;
  CPPUNIT_FAIL(&amp;quot;Test not implemented&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testValidOrderMustHavePaymentMethod()&lt;br /&gt;
{&lt;br /&gt;
  CPPUNIT_FAIL(&amp;quot;Test not implemented&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// END TestOrder.cpp ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Now, to use our TestOrder class, we need set up a program to run the test ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// test_main.cpp ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cppunit/CompilerOutputter.h&amp;gt;&lt;br /&gt;
#include &amp;lt;cppunit/extensions/TestFactoryRegistry.h&amp;gt;&lt;br /&gt;
#include &amp;lt;cppunit/ui/text/TestRunner.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int nArgs, char* aryArgs[])&lt;br /&gt;
{&lt;br /&gt;
  CppUnit::Test* pntCppTest = CppUnit::TestFactoryRegistry::getRegistry().makeTest();&lt;br /&gt;
  &lt;br /&gt;
  CppUnit::TextUi::TestRunner objCppRunner;&lt;br /&gt;
  objCppRunner.addTest(pntCppTest);&lt;br /&gt;
  &lt;br /&gt;
  objCppRunner.setOutputter(new CppUnit::CompilerOutputter(&amp;amp;objCppRunner.result(), std::cerr));&lt;br /&gt;
  &lt;br /&gt;
  bool bSuccess = objCppRunner.run();&lt;br /&gt;
  &lt;br /&gt;
  return bSuccess ? 0 : 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// END test_main.cpp ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== to compile and run our source we&amp;#039;ll doing a simple script: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// testAndRun.sh ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
g++ -c test_main.cpp -o test_main.o || exit -1&lt;br /&gt;
g++ -c TestOrder.cpp -o TestOrder.o || exit -2&lt;br /&gt;
g++ -lcppunit test_main.o TestOrder.o -o testMain || exit -3&lt;br /&gt;
./testMain&lt;br /&gt;
&lt;br /&gt;
exit $?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// END testAndRun.sh ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== if all was ok, executing our script with ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sh testAndRun.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
will report 5 failed tests of 5 total tests: wonderful!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Now, happy refactoring! ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== A basic example for an effective TestOrder class: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// TestOrder.cpp ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;TestOrder.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Order.h&amp;quot;&lt;br /&gt;
#include &amp;quot;Customer.h&amp;quot;&lt;br /&gt;
#include &amp;quot;PaymentMethod.h&amp;quot;&lt;br /&gt;
#include &amp;quot;Product.h&amp;quot;&lt;br /&gt;
#include &amp;quot;ShippingAddress.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CPPUNIT_TEST_SUITE_REGISTRATION(TestOrder);&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testNewOrderStateOpen()&lt;br /&gt;
{&lt;br /&gt;
  // Arrange, act&lt;br /&gt;
  Order objOrder(123);&lt;br /&gt;
&lt;br /&gt;
  // Assert&lt;br /&gt;
  CPPUNIT_ASSERT(objOrder.getState() == Order::StateOpened);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testValidOrderMustHaveCustomer()&lt;br /&gt;
{&lt;br /&gt;
  // Arrange&lt;br /&gt;
  Customer objCustomer(123);&lt;br /&gt;
  Order objOrder(123);&lt;br /&gt;
  PaymentMethod objPaymentMethod(123);&lt;br /&gt;
  Product objProduct(123);&lt;br /&gt;
  ShippingAddress objShippingAddress(123);&lt;br /&gt;
&lt;br /&gt;
  // Act&lt;br /&gt;
  objOrder.setPaymentMethod(objPaymentMethod);&lt;br /&gt;
  objOrder.addProduct(objProduct);&lt;br /&gt;
  objOrder.setShippingAddress(objShippingAddress);&lt;br /&gt;
&lt;br /&gt;
  // Assert&lt;br /&gt;
  CPPUNIT_ASSERT(!(objOrder.isValid()));&lt;br /&gt;
  objOrder.setCustomer(objCustomer);&lt;br /&gt;
  CPPUNIT_ASSERT(objOrder.isValid());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testValidOrderMustHaveSomeProduct()&lt;br /&gt;
{&lt;br /&gt;
  // Arrange&lt;br /&gt;
  Customer objCustomer(123);&lt;br /&gt;
  Order objOrder(123);&lt;br /&gt;
  PaymentMethod objPaymentMethod(123);&lt;br /&gt;
  Product objProduct(123);&lt;br /&gt;
  ShippingAddress objShippingAddress(123);&lt;br /&gt;
&lt;br /&gt;
  // Act&lt;br /&gt;
  objOrder.setCustomer(objCustomer);&lt;br /&gt;
  objOrder.setPaymentMethod(objPaymentMethod);&lt;br /&gt;
  objOrder.setShippingAddress(objShippingAddress);&lt;br /&gt;
&lt;br /&gt;
  // Assert&lt;br /&gt;
  CPPUNIT_ASSERT(!(objOrder.isValid()));&lt;br /&gt;
  objOrder.addProduct(objProduct);&lt;br /&gt;
  CPPUNIT_ASSERT(objOrder.isValid());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testValidOrderMustHaveShippingAddress()&lt;br /&gt;
{&lt;br /&gt;
  // Arrange&lt;br /&gt;
  Customer objCustomer(123);&lt;br /&gt;
  Order objOrder(123);&lt;br /&gt;
  PaymentMethod objPaymentMethod(123);&lt;br /&gt;
  Product objProduct(123);&lt;br /&gt;
  ShippingAddress objShippingAddress(123);&lt;br /&gt;
&lt;br /&gt;
  // Act&lt;br /&gt;
  objOrder.setCustomer(objCustomer);&lt;br /&gt;
  objOrder.setPaymentMethod(objPaymentMethod);&lt;br /&gt;
  objOrder.addProduct(objProduct);&lt;br /&gt;
&lt;br /&gt;
  // Assert&lt;br /&gt;
  CPPUNIT_ASSERT(!(objOrder.isValid()));&lt;br /&gt;
  objOrder.setShippingAddress(objShippingAddress);&lt;br /&gt;
  CPPUNIT_ASSERT(objOrder.isValid());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void TestOrder::testValidOrderMustHavePaymentMethod()&lt;br /&gt;
{&lt;br /&gt;
  // Arrange&lt;br /&gt;
  Customer objCustomer(123);&lt;br /&gt;
  Order objOrder(123);&lt;br /&gt;
  PaymentMethod objPaymentMethod(123);&lt;br /&gt;
  Product objProduct(123);&lt;br /&gt;
  ShippingAddress objShippingAddress(123);&lt;br /&gt;
&lt;br /&gt;
  // Act&lt;br /&gt;
  objOrder.setCustomer(objCustomer);&lt;br /&gt;
  objOrder.addProduct(objProduct);&lt;br /&gt;
  objOrder.setShippingAddress(objShippingAddress);&lt;br /&gt;
&lt;br /&gt;
  // Assert&lt;br /&gt;
  CPPUNIT_ASSERT(!(objOrder.isValid()));&lt;br /&gt;
  objOrder.setPaymentMethod(objPaymentMethod);&lt;br /&gt;
  CPPUNIT_ASSERT(objOrder.isValid());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// END TestOrder.cpp ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== we need an Order class ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// Order.h ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef ORDER_H_&lt;br /&gt;
#define ORDER_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;list&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Entity.h&amp;quot;&lt;br /&gt;
#include &amp;quot;EntityId.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Customer;&lt;br /&gt;
class PaymentMethod;&lt;br /&gt;
class Product;&lt;br /&gt;
class ShippingAddress;&lt;br /&gt;
&lt;br /&gt;
class Order: public Entity&lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    enum eOrderState&lt;br /&gt;
    {&lt;br /&gt;
      StateOpened,&lt;br /&gt;
      StateValidated,&lt;br /&gt;
      StateAccepted,&lt;br /&gt;
      StatePayed,&lt;br /&gt;
      StateShipped&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  public:&lt;br /&gt;
    explicit Order(EntityId _id);&lt;br /&gt;
&lt;br /&gt;
    eOrderState getState();&lt;br /&gt;
    bool isValid();&lt;br /&gt;
&lt;br /&gt;
    bool addProduct(Product&amp;amp; _objProdct);&lt;br /&gt;
    bool setCustomer(Customer&amp;amp; _objCustomer);&lt;br /&gt;
    bool setPaymentMethod(PaymentMethod&amp;amp; _objPaymentMethod);&lt;br /&gt;
    bool setShippingAddress(ShippingAddress&amp;amp; _objShippingAddress);&lt;br /&gt;
&lt;br /&gt;
  private:&lt;br /&gt;
    eOrderState m_state;&lt;br /&gt;
&lt;br /&gt;
    std::list&amp;lt;EntityId&amp;gt; m_lstIdProduct;&lt;br /&gt;
    EntityId m_idCustomer;&lt;br /&gt;
    EntityId m_idPaymentMethod;&lt;br /&gt;
    EntityId m_idShippingAddress;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End Order.h ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// Order.cpp ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Order.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Customer.h&amp;quot;&lt;br /&gt;
#include &amp;quot;PaymentMethod.h&amp;quot;&lt;br /&gt;
#include &amp;quot;Product.h&amp;quot;&lt;br /&gt;
#include &amp;quot;ShippingAddress.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Order::Order(EntityId _id)&lt;br /&gt;
  : Entity(_id)&lt;br /&gt;
{&lt;br /&gt;
  m_state = Order::StateOpened;&lt;br /&gt;
  m_idCustomer = 0;&lt;br /&gt;
  m_idShippingAddress = 0;&lt;br /&gt;
  m_idPaymentMethod = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Order::eOrderState Order::getState()&lt;br /&gt;
{&lt;br /&gt;
  return m_state;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool Order::isValid()&lt;br /&gt;
{&lt;br /&gt;
  return (m_idCustomer != 0 &amp;amp;&amp;amp;&lt;br /&gt;
          m_lstIdProduct.size() &amp;gt; 0 &amp;amp;&amp;amp;&lt;br /&gt;
          m_idShippingAddress != 0 &amp;amp;&amp;amp;&lt;br /&gt;
          m_idPaymentMethod != 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool Order::addProduct(Product&amp;amp; _objProdct)&lt;br /&gt;
{&lt;br /&gt;
  if (_objProdct.getId() == 0)&lt;br /&gt;
  {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  m_lstIdProduct.push_back(_objProdct.getId());&lt;br /&gt;
&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool Order::setCustomer(Customer&amp;amp; _objCustomer)&lt;br /&gt;
{&lt;br /&gt;
  if (_objCustomer.getId() == 0)&lt;br /&gt;
  {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  m_idCustomer = _objCustomer.getId();&lt;br /&gt;
&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool Order::setPaymentMethod(PaymentMethod&amp;amp; _objPaymentMethod)&lt;br /&gt;
{&lt;br /&gt;
  if (_objPaymentMethod.getId() == 0)&lt;br /&gt;
  {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  m_idPaymentMethod = _objPaymentMethod.getId();&lt;br /&gt;
&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool Order::setShippingAddress(ShippingAddress&amp;amp; _objShippingAddress)&lt;br /&gt;
{&lt;br /&gt;
  if (_objShippingAddress.getId() == 0)&lt;br /&gt;
  {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  m_idShippingAddress = _objShippingAddress.getId();&lt;br /&gt;
&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End Order.cpp ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== the Entity is common for all the serializable class, the implement an id member and a function to get the id. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// Entity.h ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef ENTITY_H_&lt;br /&gt;
#define ENTITY_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;EntityId.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Entity&lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    explicit Entity(EntityId _id);&lt;br /&gt;
&lt;br /&gt;
    EntityId getId();&lt;br /&gt;
&lt;br /&gt;
  protected:&lt;br /&gt;
    void setId(EntityId _id);&lt;br /&gt;
&lt;br /&gt;
  private:&lt;br /&gt;
    EntityId m_id;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End Entity.h ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// Entity.cpp ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;Entity.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Entity::Entity(EntityId _id)&lt;br /&gt;
  : m_id(_id)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
EntityId Entity::getId()&lt;br /&gt;
{&lt;br /&gt;
  return m_id;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Entity::setId(EntityId _id)&lt;br /&gt;
{&lt;br /&gt;
  m_id = _id;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End Entity.cpp ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The id type is defined as EntityId type, defined as a long to give a easy way to change all the id reference for another type: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// EntityId.h ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef ENTITY_ID_H_&lt;br /&gt;
#define ENTITY_ID_H_&lt;br /&gt;
&lt;br /&gt;
typedef long EntityId;&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End EntityId.h ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The other class are free of logic, for now: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// Product.h ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef PRODUCT_H_&lt;br /&gt;
#define PRODUCT_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Entity.h&amp;quot;&lt;br /&gt;
#include &amp;quot;EntityId.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Product : public Entity&lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    explicit Product(EntityId _id);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End Product.h ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// Product.cpp ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;Product.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Product::Product(EntityId _id)&lt;br /&gt;
  : Entity(_id)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End Product.cpp ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// Customer.h ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#ifndef CUSTOMER_H_&lt;br /&gt;
#define CUSTOMER_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Entity.h&amp;quot;&lt;br /&gt;
#include &amp;quot;EntityId.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Customer: public Entity&lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    explicit Customer(EntityId _id);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End Customer.h ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// Customer.cpp ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;Customer.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Customer::Customer(EntityId _id)&lt;br /&gt;
  : Entity(_id)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End Customer.cpp ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// PaymentMethod.h ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef PAYMENT_METHOD_H_&lt;br /&gt;
#define PAYMENT_METHOD_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Entity.h&amp;quot;&lt;br /&gt;
#include &amp;quot;EntityId.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class PaymentMethod : public Entity&lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    explicit PaymentMethod(EntityId _id);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End PaymentMethod.h ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// PaymentMethod.cpp ////&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;PaymentMethod.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
PaymentMethod::PaymentMethod(EntityId _id)&lt;br /&gt;
  : Entity(_id)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End PaymentMethod.cpp ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// ShippingAddress.h ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef SHIPPING_ADDRESS_H_&lt;br /&gt;
#define SHIPPING_ADDRESS_H_&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;Entity.h&amp;quot;&lt;br /&gt;
#include &amp;quot;EntityId.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class ShippingAddress : public Entity&lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    explicit ShippingAddress(EntityId _id);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End ShippingAddress.h ////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// ShippingAddress.cpp ////&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;ShippingAddress.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ShippingAddress::ShippingAddress(EntityId _id)&lt;br /&gt;
  : Entity(_id)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
//// End ShippingAddress.cpp ////&lt;/div&gt;</summary>
		<author><name>imported&gt;T1t0</name></author>
	</entry>
</feed>