コード例 #1
0
ファイル: TestFactories.cs プロジェクト: pleasenophp/mindi
            public IMyClass Create(IApple apple, IOrange orange)
            {
                IMyClass myClass = base.CreateInstance(() => Construction.
                                                       ForType <IApple>(apple)
                                                       .AndType <IOrange>(orange)
                                                       );

                return(myClass);
            }
コード例 #2
0
		public Tree(IApple apple)
		{
			if (apple == null)
			{
				throw new ArgumentNullException("apple");
			}

			_apple = apple;
		}
コード例 #3
0
        public void TestNullBinding()
        {
            IDIContext context = ContextHelper.CreateContext();

            context.s().BindInstance <IApple>(null);

            IApple apple = context.TryResolve <IApple>();

            Assert.IsNull(apple);
        }
コード例 #4
0
ファイル: MinIOC.cs プロジェクト: pleasenophp/mindi
        public void TestContextSelf()
        {
            IDIContext context = new MiniocContext();

            context.s().BindInstance <IDIContext>(context);
            context.s().Bind <IApple>(() => new YellowApple());

            IApple apple = context.Resolve <IApple>();

            Assert.That(apple is YellowApple);
            apple.TestContext(context);
        }
コード例 #5
0
        public void TestNullNameResolve()
        {
            IDIContext context = ContextHelper.CreateContext();

            context.m().Bind <IApple>(() => new Apple());
            context.m().Bind <IOrange> (() => new Orange1());

            IApple appleInstance = context.Resolve <IApple>(null, null);

            Assert.IsNotNull(appleInstance);

            appleInstance = context.Resolve <IApple>("");
            Assert.IsNotNull(appleInstance);
        }
コード例 #6
0
ファイル: MinIOC.cs プロジェクト: pleasenophp/mindi
        public void SingletoneFactorySameContextTest()
        {
            IDIContext context = new MiniocContext();

            context.s().BindInstance <IDIContext>(context);
            context.s().Bind <IApple>(() => new GreenApple());

            IApple apple1 = context.Resolve <IApple>();
            IApple apple2 = context.Resolve <IApple>();

            Assert.That(apple1 is GreenApple);
            Assert.That(apple2 is GreenApple);

            Assert.AreSame(apple1, apple2);
        }
コード例 #7
0
        static void Main(string[] args)
        {
            Console.WriteLine("How many cups of of apples does your receipe call for?");
            int cups = Int32.Parse(Console.ReadLine());

            Console.WriteLine("What kind of apples are you using? (possibilties are: McIntosh, GoldenDelicious, and Cortland.)");
            string type = Console.ReadLine();

            // Create an object of type IApple interface and execute static method objectSelector.  The object calls GetNumberOfApples()
            // which is common to each sub class.
            IApple applePieCalculator = AppleCalculatorFactory.objectSelector(cups, type);

            Console.WriteLine("Your apple pie requires {0} cups of {1} apples", Convert.ToString(applePieCalculator.GetNumberOfApples()), type);
            Console.ReadLine();
        }
コード例 #8
0
        public void TestMPSubjective()
        {
            IDIContext context = ContextHelper.CreateContext();

            context.m().Bind <IOrange> (() => new Orange1());
            context.m().Bind <IApple> (() => new Apple());
            IDIContext childContext = context.Reproduce();

            childContext.m().Bind <IOrange> (() => new Orange2());

            IApple apple2 = childContext.Resolve <IApple> ();
            IApple apple1 = context.Resolve <IApple> ();

            Assert.AreNotSame(apple1, apple2);
            Assert.IsInstanceOf(typeof(Orange1), apple1.orange);
            Assert.IsInstanceOf(typeof(Orange2), apple2.orange);
        }
コード例 #9
0
        public void TestNamedParentResolution()
        {
            IDIContext parentContext = ContextHelper.CreateContext();

            parentContext.m().Bind <IApple>(() => new Apple(), BindingName.ForType <Apple>());

            IDIContext context = parentContext.Reproduce();

            context.m().Bind <IApple>(() => new BigApple(), BindingName.ForType <BigApple>());

            IApple apple = context.Resolve <IApple>(BindingName.ForType <BigApple>());

            Assert.That(apple is BigApple);

            apple = context.Resolve <IApple>();
            Assert.That(apple is BigApple);

            apple = context.Resolve <IApple>(BindingName.ForType <Apple>());
            Assert.That(apple is Apple);
        }
コード例 #10
0
 private static void PrintApple(IApple apple)
 {
     Console.WriteLine($"Kind: {apple.Kind}\nColor: {apple.Color}\nPrice: {apple.Price:n}\nCurrency: {apple.Currency}\n");
 }
コード例 #11
0
 public static IFruit AsFruit(this IApple apple)
 {
     return(new FruitAdaptor(apple.GetName()));
 }
コード例 #12
0
 protected void InjectionMethod(IApple apple)
 {
     this.apple = apple;
 }
コード例 #13
0
 protected void InjectionMethod(IOrange orange, IApple apple)
 {
     this.orange = orange;
     this.apple  = apple;
 }
コード例 #14
0
 public int CalculateAppleness(IApple apple)
 {
     return(apple.J * apple.I);
 }
コード例 #15
0
 private bool Iskind(IApple apple)
 {
     return(apple.Kind.Equals("Gold"));
 }
コード例 #16
0
ファイル: Mixer.cs プロジェクト: silverforge/DIvsSL
 /// <summary>
 /// Constructor of <see cref="Mixer"/>
 /// </summary>
 /// <param name="apple">Implementation of IApple instance</param>
 /// <param name="banana">Implementation of IBanana instance</param>
 public Mixer(IApple apple, IBanana banana)
 {
     _apple = apple;
     _banana = banana;
 }
コード例 #17
0
        //public void Snack(IFruit fruit)
        //{

        //    //if (fruit is IApple)
        //    //{
        //    //    var apple = fruit as IApple;

        //    //    apple.Skin();
        //    //    apple.Eat();
        //    //}
        //    //else if (fruit is IBanana)
        //    //{
        //    //    var banana = fruit as IBanana;

        //    //    banana.Peel();
        //    //    banana.Eat();
        //    //}
        //}

        public void Visit(IApple apple)
        {
            apple.Skin();
            apple.Eat();
        }