예제 #1
0
        public void GetFlagValues(TestFlag flags, System.Enum[] expectedValues)
        {
            List <System.Enum> flagValues = flags.GetFlagValues();

            for (int i = 0; i < expectedValues.Length; i++)
            {
                Assert.IsTrue(flagValues[i].Equals(expectedValues[i]), $"Expecting value '{expectedValues[i]}', not found on list: {string.Join(", ", flagValues)}");
            }
        }
예제 #2
0
        public void ShouldBeFalseWhenNotY()
        {
            //Arrange
            Flag subject = new TestFlag("123A567", 4);

            //Act
            bool actual = subject;

            //Assert
            actual.Should().BeFalse();
        }
예제 #3
0
        public void ShouldBeTrueWhenY()
        {
            //Arrange
            Flag subject = new TestFlag("123Y567", 4);

            //Act
            bool actual = subject;

            //Assert
            actual.Should().BeTrue();
        }
예제 #4
0
        public void CommitTest()
        {
            var definitionC = new NodeDefinition
            {
                Name      = "C",
                DependsOn = new List <string>
                {
                    "B"
                }
            };

            var definitionB = new NodeDefinition
            {
                Name      = "B",
                DependsOn = new List <string>
                {
                    "A"
                }
            };

            var definitionA = new NodeDefinition
            {
                Name = "A"
            };
            var nodeRegistry = new NodeRegistry <string>();
            var flag         = new TestFlag();

            nodeRegistry.Register("A", new BaseNode <string>(new TestActionProcess(p =>
            {
                if (p.Number < 3)
                {
                    p.Item = $"AAA{p.Number}";
                }
                if (p.Number == 2)
                {
                    p.Stop();
                }
            }, () => { flag.Flag = true; }), definitionA));
            nodeRegistry.Register("B",
                                  new BaseNode <string>(new TestActionProcess(p => { p.Item = p.Item += "BBB"; }), definitionB));
            nodeRegistry.Register("C",
                                  new BaseNode <string>(new TestActionProcess(p => { p.Item = p.Item += "CCC"; }), definitionC));

            var provider = new NodeDefinitionProvider("C");

            provider.Register("C", definitionC);
            provider.Register("B", definitionB);
            provider.Register("A", definitionA);

            var runner = new DataNodeRunner <string>(provider, nodeRegistry);

            runner.Run();
            Assert.IsTrue(flag.Flag);
        }
예제 #5
0
        public static void Default_2_GetAppliedFlags()
        {
            const TestFlag accumulateFlags = TestFlag.Flag0 | TestFlag.Flag1 | TestFlag.Flag2 | TestFlag.Flag3 | TestFlag.Flag4 | TestFlag.Flag5;
            var            appliedFlagList = accumulateFlags.GetAppliedFlags().ToArray();

            Assert.Equal(6, appliedFlagList.Length);
            Assert.Contains(TestFlag.Flag0, appliedFlagList);
            Assert.Contains(TestFlag.Flag1, appliedFlagList);
            Assert.Contains(TestFlag.Flag2, appliedFlagList);
            Assert.Contains(TestFlag.Flag3, appliedFlagList);
            Assert.Contains(TestFlag.Flag4, appliedFlagList);
            Assert.Contains(TestFlag.Flag5, appliedFlagList);
        }
예제 #6
0
        public void ConvertEnumUsingNumericRepresent()
        {
            TestEnum originEnum = TestEnum.Enum2;
            TestFlag originFlag = TestFlag.Flag1 | TestFlag.Flag2;

            RedisValue redisValEnum;
            var        convertedEnum = Convert(originEnum, EnumConvertionInfo.AsNumeric, out redisValEnum);

            Assert.AreEqual(originEnum, convertedEnum);
            Assert.IsTrue(IsNumeric(redisValEnum));

            RedisValue redisValFlag;
            var        convertedFlag = Convert(originFlag, EnumConvertionInfo.AsNumeric, out redisValFlag);

            Assert.AreEqual(originFlag, convertedFlag);
            Assert.IsTrue(IsNumeric(redisValFlag));
        }
예제 #7
0
        public void ConvertEnumUsingDefaultRepresent()
        {
            Assert.IsTrue(EnumConverter.IsEnum(typeof(TestEnum)));

            TestEnum originEnum = TestEnum.Enum2;
            TestFlag originFlag = TestFlag.Flag1 | TestFlag.Flag2;

            RedisValue redisValEnum;
            var        convertedEnum = Convert(originEnum, null, out redisValEnum);

            Assert.AreEqual(originEnum, convertedEnum);
            Assert.IsFalse(IsNumeric(redisValEnum));

            RedisValue redisValFlag;
            var        convertedFlag = Convert(originFlag, null, out redisValFlag);

            Assert.AreEqual(originFlag, convertedFlag);
            Assert.IsFalse(IsNumeric(redisValFlag));
        }
 public DummyCollectionRepo(TestFlag flag)
 {
     _testFlag = flag;
 }