Exemplo n.º 1
0
 /// <summary>
 /// A helper method used to populate the FeatsContainer with default feats.
 /// </summary>
 public static void PopulateContainer()
 {
     foreach (ClassFeats feat in Enum.GetValues(typeof(ClassFeats)))
     {
         if (FeatFactory.Create(feat) != null)
         {
             FeatsContainer.Add(FeatFactory.Create(feat));
         }
     }
 }
Exemplo n.º 2
0
        public string Process(string flag)
        {
            // using delegate
            var val = "cool";
            var num = 1;


            var features = FeatureFunctions <Func <string, int, string> >
                           .Create(new NewFeature().ProcessSomeData,
                                   new NewFeature().ProcessSomeDataV2);

            return(FeatFactory.FuncFactory(features, Constants.FeatFlag == flag)(val, num));
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            // factory pattern using Interface
            var result = FeatFactory
                         .GetFeatureImplementation(Constants.FeatFlag)
                         .DoStuff();

            Console.WriteLine(result);


            // factory using Func<>
            var features = FeatureFunctions <Func <string, int, string> >
                           .Create(new NewFeature().ProcessSomeData,
                                   new NewFeature().ProcessSomeDataV2);

            result = FeatFactory.FuncFactory(features, Constants.FeatFlag == "mycoolFlag")("foo", 1);

            Console.WriteLine(result);
        }
Exemplo n.º 4
0
        public void FeatFactory_ShouldBeV1()
        {
            var feat = FeatFactory.GetFeatureImplementation(Constants.FeatFlag);

            Assert.IsTrue(feat.GetType() == typeof(FeatureV1));
        }
Exemplo n.º 5
0
        public void FeatFactory_ShouldBeV2()
        {
            var feat = FeatFactory.GetFeatureImplementation("");

            Assert.IsTrue(feat.GetType() == typeof(FeatureV2));
        }