From 7cede86e72d474aca51a9c2c447b3ec35e49678a Mon Sep 17 00:00:00 2001 From: Whistler092 Date: Mon, 1 Oct 2018 23:26:19 -0500 Subject: [PATCH 1/2] add first or default method and tests --- .DS_Store | Bin 0 -> 10244 bytes ShittyLINQ/FirstOrDefault.cs | 17 +++++++++++ ShittyLinqTests/FirstOrDefaultTests.cs | 39 +++++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 .DS_Store create mode 100644 ShittyLINQ/FirstOrDefault.cs create mode 100644 ShittyLinqTests/FirstOrDefaultTests.cs diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c4b770082e12900b35b4150d384943f6562a7d8c GIT binary patch literal 10244 zcmeHMYit}>6+WNy=*(msPad^*;;eTQ*GU|b*sL2D9PU5<_0tpIje^hEnfgcqQL7E~&=~L>Tg4zZsNEAcTqW%C;A@~7*kV<(-oO@?> zyWZFhMF=7?SDHC<@4090oU`A#-@SK<2pwaotwd2GQuq?m(D^n;5qfc5Q_B1np#<9# z<>)N+P&eI4cU{vvXb2(@L?DPj5P={9K?H7u2ry@hqAc-ba1SC7L?DPjAp&B4i1H<5 z%$L)ilv4-a12CtY|>B#+qE#GtXV z)5+u#cE-v|V>@MWm*Yq6Ov;()aKxvs*`pob=d8#vL@44JFb;W9dZBYEP#{XSY9Roym!( zdt4`*>y#Y_4P(r;?zXs}J#KYzZ#G>n-gIa*XFD19h?R9&*2Wq=7t~Aot>LxnKGt~q z$9HwklrOC?mMzz`dpJm$oc#&g${wDuQ@P=RggazqQg-Il(Q(_glWD6jlNhm00mv7~)^%+8&aW7I@U?Rbj6?hYp50ZP#XJxq_&dHO0{qUY&ldX0WcKc`>P6}n2lrr*<_ z=zaPt{hj`S#i+n))F6T=>Tx@^p%pQ-qZ3`|#@&eHFpl6DQm}9e!^mI)XK)Ua_%t5I zBX|^F#FO|AzKdt@J-m$9@H#Hzhjgyn6nQxA|$#3}w{%8Co_l7izHRu}G66$7O(oEL-_=^1*3enM|D_}-y+ z=@0ZCh=Hf0l7SaREp9^{wx9u9(S#PXVV4iV9^8pu+{G|FhI=uHlStr`NHYi>jN&YV za0(CLQ}`Sn!si)|kK;VU@dxD_Q7VpE1r zQy*F6GO4)#r(|*+uZw8q>-hwIyNFiw^3cBh`&Q@&=A8UL8qJ8_Ls=)C?sZ&SaL7P` zc&<_Pe>fEtrVIn>rKMG?*VJunXxY)$F(X)K#Y$cOXuPxBSXL1-L)EkSMYQTQp{UBa zH#?DWf9%F(zfF9f-^ZPhXaE7Na!r48F z(@Zndc#uivGljf<5*P6lp2oMCW?q#<^E0NIU*WfS*ZbfC(HzV>;7RQu1a8g(this IEnumerable self) + { + if (self == null) throw new ArgumentNullException(); + + var iterator = self.GetEnumerator(); + return !iterator.MoveNext() ? default(T) : iterator.Current; + } + } +} diff --git a/ShittyLinqTests/FirstOrDefaultTests.cs b/ShittyLinqTests/FirstOrDefaultTests.cs new file mode 100644 index 0000000..3086a04 --- /dev/null +++ b/ShittyLinqTests/FirstOrDefaultTests.cs @@ -0,0 +1,39 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using ShittyLINQ; +using System; + +namespace ShittyTests +{ + [TestClass] + public class FirstOrDefaultTests + { + [TestMethod] + public void FirstOrDefault_GetFirstNumber() + { + int[] numbers = new int[] { 1, 2, 3, 4, 5 }; + int expectedResult = 1; + + int result = numbers.First(); + + Assert.AreEqual(expectedResult, result); + } + + public void FirstOrDefaultTests_SourceIsEmpty() + { + int[] numbers = new int[] { }; + int expectedResult = 0; + + int result = numbers.First(); + Assert.AreEqual(expectedResult, result); + } + + [TestMethod] + [ExpectedException(typeof(ArgumentNullException))] + public void First_SourceIsNull() + { + int[] numbers = null; + + int result = numbers.First(); + } + } +} From 2673265cf7404038c8a0fad1f2dc008ebcf279cd Mon Sep 17 00:00:00 2001 From: Whistler092 Date: Mon, 1 Oct 2018 23:29:42 -0500 Subject: [PATCH 2/2] add first or default method and tests --- .DS_Store | Bin 10244 -> 0 bytes ShittyLINQ/FirstOrDefault.cs | 1 + ShittyLinqTests/FirstOrDefaultTests.cs | 1 + 3 files changed, 2 insertions(+) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index c4b770082e12900b35b4150d384943f6562a7d8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeHMYit}>6+WNy=*(msPad^*;;eTQ*GU|b*sL2D9PU5<_0tpIje^hEnfgcqQL7E~&=~L>Tg4zZsNEAcTqW%C;A@~7*kV<(-oO@?> zyWZFhMF=7?SDHC<@4090oU`A#-@SK<2pwaotwd2GQuq?m(D^n;5qfc5Q_B1np#<9# z<>)N+P&eI4cU{vvXb2(@L?DPj5P={9K?H7u2ry@hqAc-ba1SC7L?DPjAp&B4i1H<5 z%$L)ilv4-a12CtY|>B#+qE#GtXV z)5+u#cE-v|V>@MWm*Yq6Ov;()aKxvs*`pob=d8#vL@44JFb;W9dZBYEP#{XSY9Roym!( zdt4`*>y#Y_4P(r;?zXs}J#KYzZ#G>n-gIa*XFD19h?R9&*2Wq=7t~Aot>LxnKGt~q z$9HwklrOC?mMzz`dpJm$oc#&g${wDuQ@P=RggazqQg-Il(Q(_glWD6jlNhm00mv7~)^%+8&aW7I@U?Rbj6?hYp50ZP#XJxq_&dHO0{qUY&ldX0WcKc`>P6}n2lrr*<_ z=zaPt{hj`S#i+n))F6T=>Tx@^p%pQ-qZ3`|#@&eHFpl6DQm}9e!^mI)XK)Ua_%t5I zBX|^F#FO|AzKdt@J-m$9@H#Hzhjgyn6nQxA|$#3}w{%8Co_l7izHRu}G66$7O(oEL-_=^1*3enM|D_}-y+ z=@0ZCh=Hf0l7SaREp9^{wx9u9(S#PXVV4iV9^8pu+{G|FhI=uHlStr`NHYi>jN&YV za0(CLQ}`Sn!si)|kK;VU@dxD_Q7VpE1r zQy*F6GO4)#r(|*+uZw8q>-hwIyNFiw^3cBh`&Q@&=A8UL8qJ8_Ls=)C?sZ&SaL7P` zc&<_Pe>fEtrVIn>rKMG?*VJunXxY)$F(X)K#Y$cOXuPxBSXL1-L)EkSMYQTQp{UBa zH#?DWf9%F(zfF9f-^ZPhXaE7Na!r48F z(@Zndc#uivGljf<5*P6lp2oMCW?q#<^E0NIU*WfS*ZbfC(HzV>;7RQu1a8g(this IEnumerable self) { if (self == null) throw new ArgumentNullException(); diff --git a/ShittyLinqTests/FirstOrDefaultTests.cs b/ShittyLinqTests/FirstOrDefaultTests.cs index 3086a04..b3727c0 100644 --- a/ShittyLinqTests/FirstOrDefaultTests.cs +++ b/ShittyLinqTests/FirstOrDefaultTests.cs @@ -4,6 +4,7 @@ namespace ShittyTests { + [TestClass] public class FirstOrDefaultTests {