Пример #1
0
        public void shouldIgnoreSecondCall_Dispose(ulong lenght, bool initValue)
        {
            var obj = new MultipleBinaryFlag(lenght, initValue);

            obj.Dispose();
            obj.Dispose();
            Assert.Null(obj.ToString());
        }
Пример #2
0
        public void disposeMultipleTest()
        {
            ulong length            = 100;
            MultipleBinaryFlag flag = new MultipleBinaryFlag(length);

            flag.Dispose();
            flag.Dispose();
            Assert.Throws <ArgumentNullException>(() => flag.GetFlag());
        }
Пример #3
0
 public void CheckDisposeTwice(ulong length, bool boolean, string route)
 {
     try {
         var binaryFlag = new MultipleBinaryFlag(length, boolean);
         binaryFlag.Dispose();
         binaryFlag.Dispose();
     } catch (Exception e) {
         Assert.True(false, route);
     }
 }
Пример #4
0
 public void Route_0_1_19()
 {
     try
     {
         MultipleBinaryFlag b = new MultipleBinaryFlag(666, false);
         b.Dispose();
         b.Dispose();
         Assert.True(false);
     }
     catch (Exception)
     {
         Assert.True(true);
     }
 }
Пример #5
0
        public void TestMultipleDispose()
        {
            ulong              tmp   = 42069;
            Exception          ex    = null;
            MultipleBinaryFlag test1 = new MultipleBinaryFlag(tmp, false);

            test1.Dispose();
            try {
                test1.Dispose();
            } catch (Exception e) {
                ex = e;
            }
            Assert.IsNull(ex);
        }
Пример #6
0
        public void DisposeTest()
        {
            MultipleBinaryFlag tmp = new MultipleBinaryFlag(10);

            tmp.Dispose();
            Assert.Null(tmp);
        }
Пример #7
0
        public void shouldReturnNullIfFlagObjIsNull_GetFlag(ulong lenght, bool initValue)
        {
            var obj = new MultipleBinaryFlag(lenght, initValue);

            obj.Dispose();
            Assert.Null(obj.GetFlag());
        }
Пример #8
0
        public void Test_disposing()
        {
            MultipleBinaryFlag testBinaryFlag = new MultipleBinaryFlag(2);

            testBinaryFlag.Dispose();
            Assert.Null(testBinaryFlag.GetFlag());
        }
Пример #9
0
        public void Test_Route_1_3_12()
        {
            var flag = new MultipleBinaryFlag(112);

            flag.Dispose();
            Assert.IsNull(flag.GetFlag());
        }
Пример #10
0
        public void Dispose_IsFlagBecomeNull()
        {
            MultipleBinaryFlag flag = new MultipleBinaryFlag(15);

            flag.Dispose();
            Assert.Null(flag);
        }
Пример #11
0
        public void ExecutionRoute_0_1_6_12_14_GetFlag()
        {
            MultipleBinaryFlag binaryFlag_f = new MultipleBinaryFlag(65, false);

            Assert.IsFalse(binaryFlag_f.GetFlag());
            binaryFlag_f.Dispose();
        }
Пример #12
0
        public void ExecutionRoute_0_1_6_13_14_GetFlag()
        {
            MultipleBinaryFlag binaryFlag = new MultipleBinaryFlag(65);

            Assert.IsTrue(binaryFlag.GetFlag());
            binaryFlag.Dispose();
        }
Пример #13
0
        public void TestDispose()
        {
            ulong              tmp1  = 42069;
            ulong              tmp2  = 65;
            ulong              tmp3  = 64;
            Exception          ex1   = null;
            Exception          ex2   = null;
            Exception          ex3   = null;
            MultipleBinaryFlag test1 = new MultipleBinaryFlag(tmp1, false);
            MultipleBinaryFlag test2 = new MultipleBinaryFlag(tmp2, false);
            MultipleBinaryFlag test3 = new MultipleBinaryFlag(tmp3, false);

            test1.Dispose();
            test2.Dispose();
            test3.Dispose();
            try {
                test3.GetFlag();
            } catch (Exception e) {
                ex3 = e;
            }
            try {
                test1.GetFlag();
            } catch (Exception e) {
                ex1 = e;
            }
            try {
                test2.GetFlag();
            } catch (Exception e) {
                ex2 = e;
            }
            Assert.IsNotNull(ex1);
            Assert.IsNotNull(ex2);
            Assert.IsNull(ex3);
        }
Пример #14
0
        /// <summary>
        /// Runs full test of MultipleBinaryFlag given specified length and initialValue.
        /// Consists of such steps:
        /// 1. Test that new object is setting up initial value correctly by checking GetFlag() and ToString() method's return values.
        /// 2. Test ResetFlag() works as intended by resetting flag at each position of 0..length-1. Checks expected output of GetFlag() and ToString() on each step.
        /// 3. Test SetFlag() similar to p.2 (ResetFlag())
        /// 4. Test ArgumentOutOfRangeException is being thrown when calling ResetFlag() or SetFlag() with position>=length
        /// </summary>
        /// <param name="len"></param>
        /// <param name="initialValue"></param>
        private static void TestFullFlow(ulong length, bool initialValue)
        {
            MultipleBinaryFlag impl = new MultipleBinaryFlag(length, initialValue);

            // 1. Test that new object is setting up initial value correctly.
            char   expected_char = initialValue ? 'T' : 'F';
            string expected      = new string(expected_char, (int)length);

            char[] expected_arr = expected.ToCharArray();
            Assert.AreEqual(initialValue, impl.GetFlag());             // GetFlag should be equal to initialValue right after object construction

            var actual = impl.ToString();

            Assert.AreEqual <string>(expected, actual, $"Expected string of '{expected_char}' chars of {length} symbols. Got '{actual}' instead");

            // 2. Test ResetFlag(): apply reset for each element by one, compare output (ToString) to expected.
            // Also checks if GetFlag() returns false (since not all elements are True)
            for (ulong i = 0; i < length; ++i)
            {
                impl.ResetFlag(i);
                expected_arr[i] = 'F';
                expected        = new string(expected_arr);

                actual = impl.ToString();
                Assert.AreEqual <string>(expected, actual);
                Assert.IsFalse(impl.GetFlag());
            }

            // 3. Test SetFlag(): set flag for each position by one, compare output (ToString) to expected.
            // Also checks if GetFlag() returns false (since not all elements are True)
            for (ulong i = 0; i < length; ++i)
            {
                impl.SetFlag(i);
                expected_arr[i] = 'T';
                expected        = new string(expected_arr);

                actual = impl.ToString();
                Assert.AreEqual <string>(expected, actual);
                // After last step (i==len-1) flag should become true.
                // Before that it should remain false, as not all flags are true.
                if (i < length - 1)
                {
                    Assert.IsFalse(impl.GetFlag());
                }
                else
                {
                    Assert.IsTrue(impl.GetFlag());
                }
            }

            // 4. Test ArgumentOutOfRangeException is being thrown when calling ResetFlag/SetFlag with position>=length
            Action throws_outOfRange_resetFlag = () => { impl.ResetFlag(length); };
            Action throws_outOfRange_setFlag   = () => { impl.SetFlag(length); };

            Assert.ThrowsException <ArgumentOutOfRangeException>(throws_outOfRange_setFlag);
            Assert.ThrowsException <ArgumentOutOfRangeException>(throws_outOfRange_resetFlag);

            impl.Dispose();
        }
Пример #15
0
        public void disposeSmallTest()
        {
            ulong length            = 10;
            MultipleBinaryFlag flag = new MultipleBinaryFlag(length);

            flag.Dispose();
            Assert.NotEqual("TTTTTTTTTT", flag.ToString());
        }
Пример #16
0
        public void Dispose_SetsFlag_Null()
        {
            MultipleBinaryFlag binaryFlag = new MultipleBinaryFlag(5, true);

            binaryFlag.Dispose();

            Assert.Null(binaryFlag);
        }
Пример #17
0
        public void Test_resetting_after_disposing()
        {
            MultipleBinaryFlag testBinaryFlag = new MultipleBinaryFlag(2);

            testBinaryFlag.Dispose();
            testBinaryFlag.ResetFlag(0);
            Assert.Null(testBinaryFlag.GetFlag());
        }
Пример #18
0
        public void shouldReturnIfFlagObjIsNull_SetFlag(ulong lenght, bool initValue, ulong position)
        {
            var obj = new MultipleBinaryFlag(lenght, initValue);

            obj.Dispose();
            obj.SetFlag(position);
            Assert.Null(obj.ToString());
        }
Пример #19
0
        public void Dispose()
        {
            var flag = new MultipleBinaryFlag(9);

            flag.Dispose();

            Assert.Null(flag.ToString());
        }
Пример #20
0
        public void GetFlag_AfterDispose()
        {
            var flag = new MultipleBinaryFlag(9);

            flag.Dispose();

            Assert.Null(flag.GetFlag());
        }
Пример #21
0
        public void disposeShouldSetFlagToNull()
        {
            MultipleBinaryFlag binaryFlag = new MultipleBinaryFlag(10, true);

            binaryFlag.Dispose();

            Assert.Null(binaryFlag);
        }
Пример #22
0
        public void TestDisposeMaxHigher()
        {
            ulong tmp = 17179868704;
            MultipleBinaryFlag testFlag = new MultipleBinaryFlag(tmp, true);

            testFlag.Dispose();
            Assert.ThrowsException <System.ArgumentNullException>(() => testFlag.GetFlag());
        }
Пример #23
0
        public void testDispose()
        {
            MultipleBinaryFlag multipleBinaryFlag = new MultipleBinaryFlag(10, false);

            multipleBinaryFlag.Dispose();

            Assert.Null(multipleBinaryFlag);
        }
Пример #24
0
        public void DisposeTest()
        {
            flag_1.Dispose();
            flag_2.Dispose();
            flag_3.Dispose();

            Assert.IsNotNull(flag_1);
            Assert.IsNotNull(flag_2);
            Assert.IsNotNull(flag_3);
        }
Пример #25
0
        public void ResetFlag_AfterDispose()
        {
            var flag = new MultipleBinaryFlag(9);

            flag.Dispose();
            flag.ResetFlag(4);
            flag.ResetFlag(2);

            Assert.Null(flag.ToString());
        }
Пример #26
0
 public void CheckGetFlagIfNotExists(ulong length, string route)
 {
     try {
         var binaryFlag = new MultipleBinaryFlag(length);
         binaryFlag.Dispose();
         var flag = binaryFlag.GetFlag();
         Assert.Equal(flag, null);
     } catch (Exception e) {
         Assert.True(false, route);
     }
 }
Пример #27
0
 public void ThrowArgumentOutOfRangeExceptionOnWrongPositionSetFlag(ulong length, bool boolean, ulong position, string route)
 {
     try {
         var binaryFlag = new MultipleBinaryFlag(length, boolean);
         binaryFlag.Dispose();
         binaryFlag.SetFlag(position);
         Assert.True(true);
     } catch (Exception e) {
         Assert.True(false, route);
     }
 }
Пример #28
0
        public void TestDispose()
        {
            MultipleBinaryFlag flag = new MultipleBinaryFlag(test_length, false);

            flag.SetFlag(3);
            Assert.AreEqual(flag.ToString(), "FFFTFFFFFF");

            flag.Dispose();

            Assert.Null(flag);
        }
Пример #29
0
 public void Route_0_4Dispose(ulong length, bool b)
 {
     try
     {
         var binFlag = new MultipleBinaryFlag(length, b);
         binFlag.Dispose();
     }
     catch (Exception e)
     {
         Assert.IsTrue(false);
     }
 }
Пример #30
0
        public void DisposeTest()
        {
            MultipleBinaryFlag flag1 = new MultipleBinaryFlag(32);
            MultipleBinaryFlag flag2 = new MultipleBinaryFlag(32, false);

            flag1.Dispose();
            flag2.Dispose();

            Assert.NotNull(flag1);
            Assert.NotNull(flag2);
            Assert.True(flag1.GetFlag());
            Assert.False(flag2.GetFlag());
        }