Tiny types in C#–part 1
This is a series
- http://msprogrammer.serviciipeweb.ro/2018/03/12/tiny-types-in-cpart-1/
- http://msprogrammer.serviciipeweb.ro/2018/03/19/tiny-types-part-2adding-iequatable/
-
http://msprogrammer.serviciipeweb.ro/2018/03/26/tinytypesadding-equality-operatorpart-3/
-
http://msprogrammer.serviciipeweb.ro/2018/04/02/tiny-typesdocumentationpart-4/
I have read about tiny types in Javascript – at https://darrenhobbs.com/2007/04/11/tiny-types/ and at https://janmolak.com/tiny-types-in-typescript-4680177f026e . It was an interesting idea – especially in this world of REST API .
I decided to make the same on C# – so here it is: https://github.com/ignatandrei/tinyTypes and at https://www.nuget.org/packages/TinyTypesObjects .
For the moment , the tests are minimal – just to get working :
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | using Microsoft.VisualStudio.TestTools.UnitTesting; using TinyTypesObjects; namespace TinyTypesTest { [TestClass] public class TestTinyType { [TestMethod] public void TestConvert() { TinyType< string > tt = s; Assert.AreEqual(s, ( string )tt); } [TestMethod] public void TestBehaviour() { #region arrange + act Author a1 = new Author( "andrei" , "ignat" ); Author a2 = new Author( new FirstName( "andrei" ), new LastName( "ignat" )); Author a3 = new Author(firstName: "andrei" ,lastName: "ignat" ); #endregion #region assert Assert.AreEqual(a2.FullName(), a3.FullName()); Assert.AreEqual(a2.FullName(), a3.FullName()); #endregion } } } |
Next time , I will do IComparable / Iequatable /Equals and others