tag:github.com,2008:https://github.com/aoancea/runtime-mapper/releases
Release notes from runtime-mapper
2017-07-26T20:06:23Z
tag:github.com,2008:Repository/94851561/0.0.3-alpha
2017-07-27T09:24:52Z
0.0.3-alpha
<h1>0.0.3-alpha (2017-07-26)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>mapper-string</strong>: decouple string mapping from value types mapping as we don't want to get into mapping a string to an int which might crash</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>mapper-value-type</strong>: mapping primitive types between <em>value</em> and <em>nullable value</em> types</li>
</ul>
<p>You can now do something like this:</p>
<div class="highlight highlight-source-cs notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[TestMethod]
public void DeepCopyTo_Int_To_NullableInt_DestinationCopied()
{
int source = 5;
int? destination = source.DeepCopyTo<int?>();
Assert.AreEqual(5, destination);
}"><pre><span class="pl-kos">[</span><span class="pl-c1">TestMethod</span><span class="pl-kos">]</span>
<span class="pl-k">public</span> <span class="pl-smi">void</span> <span class="pl-en">DeepCopyTo_Int_To_NullableInt_DestinationCopied</span><span class="pl-kos">(</span><span class="pl-kos">)</span>
<span class="pl-kos">{</span>
<span class="pl-smi">int</span> <span class="pl-s1">source</span> <span class="pl-c1">=</span> <span class="pl-c1">5</span><span class="pl-kos">;</span>
<span class="pl-smi">int</span><span class="pl-c1">?</span> <span class="pl-s1">destination</span> <span class="pl-c1">=</span> <span class="pl-s1">source</span><span class="pl-kos">.</span><span class="pl-smi">DeepCopyTo</span><span class="pl-c1"><</span><span class="pl-smi">int</span><span class="pl-c1">?</span><span class="pl-c1">></span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">Assert</span><span class="pl-kos">.</span><span class="pl-en">AreEqual</span><span class="pl-kos">(</span><span class="pl-c1">5</span><span class="pl-kos">,</span> <span class="pl-s1">destination</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<div class="highlight highlight-source-cs notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[TestMethod]
public void DeepCopyTo_NullableInt_To_Int_DestinationCopied()
{
int? source = 5;
int destination = source.DeepCopyTo<int>();
Assert.AreEqual(5, destination);
}"><pre><span class="pl-kos">[</span><span class="pl-c1">TestMethod</span><span class="pl-kos">]</span>
<span class="pl-k">public</span> <span class="pl-smi">void</span> <span class="pl-en">DeepCopyTo_NullableInt_To_Int_DestinationCopied</span><span class="pl-kos">(</span><span class="pl-kos">)</span>
<span class="pl-kos">{</span>
<span class="pl-smi">int</span><span class="pl-c1">?</span> <span class="pl-s1">source</span> <span class="pl-c1">=</span> <span class="pl-c1">5</span><span class="pl-kos">;</span>
<span class="pl-smi">int</span> <span class="pl-s1">destination</span> <span class="pl-c1">=</span> <span class="pl-s1">source</span><span class="pl-kos">.</span><span class="pl-smi">DeepCopyTo</span><span class="pl-c1"><</span><span class="pl-smi">int</span><span class="pl-c1">></span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">Assert</span><span class="pl-kos">.</span><span class="pl-en">AreEqual</span><span class="pl-kos">(</span><span class="pl-c1">5</span><span class="pl-kos">,</span> <span class="pl-s1">destination</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<h3>Code Refactorings</h3>
<ul>
<li><strong>mapper</strong>: few renamings, delete comments, indent IfTheElse expression blocks for visibility</li>
<li><strong>mapper-value-type</strong>: move value type tests such as <em>Int</em>, <em>Guid</em>, <em>Enum</em> inside their own test files for better visibility and grouping</li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>mapper-collection</strong>: remove the fetching of the <em>destinationUnderlyingType</em> while mapping arrays or lists as it was already fetched</li>
</ul>
<h3>Test Coverage</h3>
<ul>
<li><strong>mapper-value-type</strong>: add <em>object -> value</em>, <em>object -> nullable value</em>, <em>value -> object</em>, <em>nullable value -> object</em> tests</li>
</ul>
aoancea
tag:github.com,2008:Repository/94851561/0.0.2-alpha
2017-07-25T12:38:14Z
0.0.2-alpha
<ul>
<li>Change Target Framework Version to v4.5(net45) for better compatibility with older versionsof .NET(there is no need to migrate towards net461 in order to use Runtime.Mapper)</li>
</ul>
aoancea