public void ValidSetterOnlyCheck3()
        {
            var sut = new CustomAccessors();

            sut.Number = 0;
            Assert.AreEqual(0, sut.GetUnalteredNumber());
        }
        public void RandomValueCheck()
        {
            var    sut = new CustomAccessors();
            Random rng = new Random();

            for (var i = 0; i < 100; i++)
            {
                var a = rng.Next(-2000, 2000);
                if (a % 2 == 0)
                {
                    sut.Number = a;
                    Assert.AreEqual(a / 2, sut.Number);
                    Assert.AreEqual(a, sut.GetUnalteredNumber());
                }
                else
                {
                    try
                    {
                        sut.Number = a;
                    }
                    catch (ArgumentException)
                    {
                        continue;
                    }

                    Assert.Fail("Expected exception on odd value input");
                }
            }
        }
        public void ValidSetterOnlyCheck1()
        {
            //sut --> subject under test
            var sut = new CustomAccessors();

            sut.Number = 26;
            Assert.AreEqual(26, sut.GetUnalteredNumber());
        }
        public void GetterAndSetterCheck4()
        {
            //sut --> subject under test
            var sut = new CustomAccessors();

            sut.Number = 104;
            Assert.AreEqual(52, sut.Number);
        }
        public void OddValuedSetterCheck3()
        {
            var sut = new CustomAccessors();

            try
            {
                sut.Number = 77;
            }
            catch (ArgumentException)
            {
                Assert.Pass("Correct exception type thrown");
            }

            Assert.Fail("Expected exception on odd value input");
        }
        public static int GetUnalteredNumber(this CustomAccessors na)
        {
            FieldInfo fi = typeof(CustomAccessors).GetField("_number", BindingFlags.NonPublic | BindingFlags.Instance);

            return((int)fi.GetValue(na));
        }