
{"id":369,"date":"2009-12-11T16:04:25","date_gmt":"2009-12-11T21:04:25","guid":{"rendered":"http:\/\/www.ikriv.com\/blog\/?p=369"},"modified":"2009-12-11T16:04:25","modified_gmt":"2009-12-11T21:04:25","slug":"parsing-net-enums-some-unit-tests","status":"publish","type":"post","link":"https:\/\/ikriv.com\/blog\/?p=369","title":{"rendered":"Parsing .NET Enums: some unit tests"},"content":{"rendered":"<p>Of course, I had to verify that enum parsing really works as they say it does (see previous post). So I wrote a little unit test. All tests in this class pass:<\/p>\n<div style=\"border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt\">\n<div style=\"background-color: #ffffff; overflow: auto; padding: 2px 5px;\"><span style=\"color:#0000ff\">using<\/span> System;<br \/>\n<span style=\"color:#0000ff\">using<\/span> Microsoft.VisualStudio.TestTools.UnitTesting;<\/p>\n<p><span style=\"color:#0000ff\">namespace<\/span> UnitTests<br \/>\n{<br \/>\n&#160;&#160;&#160;&#160;[<span style=\"color:#2b91af\">TestClass<\/span>]<br \/>\n&#160;&#160;&#160;&#160;<span style=\"color:#0000ff\">public<\/span> <span style=\"color:#0000ff\">class<\/span> <span style=\"color:#2b91af\">EnumParsingTest<\/span><br \/>\n&#160;&#160;&#160;&#160;{<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style=\"color:#0000ff\">enum<\/span> <span style=\"color:#2b91af\">Test<\/span><br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Foo = 10,<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Bar = 20<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;[<span style=\"color:#2b91af\">TestMethod<\/span>]<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style=\"color:#0000ff\">public<\/span> <span style=\"color:#0000ff\">void<\/span> ParseStringValue()<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style=\"color:#2b91af\">Assert<\/span>.AreEqual(<span style=\"color:#2b91af\">Test<\/span>.Foo, <span style=\"color:#2b91af\">Enum<\/span>.Parse(<span style=\"color:#0000ff\">typeof<\/span>(<span style=\"color:#2b91af\">Test<\/span>), <span style=\"color:#a31515\">&quot;Foo&quot;<\/span>));<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;[<span style=\"color:#2b91af\">TestMethod<\/span>]<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style=\"color:#0000ff\">public<\/span> <span style=\"color:#0000ff\">void<\/span> ParseIntValue()<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style=\"color:#2b91af\">Assert<\/span>.AreEqual(<span style=\"color:#2b91af\">Test<\/span>.Foo, <span style=\"color:#2b91af\">Enum<\/span>.Parse(<span style=\"color:#0000ff\">typeof<\/span>(<span style=\"color:#2b91af\">Test<\/span>), <span style=\"color:#a31515\">&quot;10&quot;<\/span>));<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<\/p>\n<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;[<span style=\"color:#2b91af\">TestMethod<\/span>]<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style=\"color:#0000ff\">public<\/span> <span style=\"color:#0000ff\">void<\/span> ParseUnrelatedIntValue()<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style=\"color:#2b91af\">Assert<\/span>.AreEqual((<span style=\"color:#2b91af\">Test<\/span>)40, <span style=\"color:#2b91af\">Enum<\/span>.Parse(<span style=\"color:#0000ff\">typeof<\/span>(<span style=\"color:#2b91af\">Test<\/span>), <span style=\"color:#a31515\">&quot;40&quot;<\/span>));<br \/>\n&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<\/p>\n<p>&#160;&#160;&#160;&#160;}<br \/>\n}<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Of course, I had to verify that enum parsing really works as they say it does (see previous post). So I wrote a little unit test. All tests in this <a href=\"https:\/\/ikriv.com\/blog\/?p=369\" class=\"more-link\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"Layout":"","footnotes":""},"categories":[8],"tags":[],"class_list":["entry","author-ikriv","post-369","post","type-post","status-publish","format-standard","category-cs"],"_links":{"self":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=369"}],"version-history":[{"count":0,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/369\/revisions"}],"wp:attachment":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}