public void Test_Resolve_ShouldReturnSomeObjectForSingletonUsingMethod()
        {
            // Arrange
            var container = new TestFactoryFromMethodsSet1();

            // Act
            var fooFirst  = container.Resolve <Foo>();
            var fooSecond = container.Resolve <Foo>();

            // Assert
            Assert.IsNotNull(fooFirst);
            Assert.IsNotNull(fooSecond);
            Assert.AreEqual(fooFirst, fooSecond);
            Assert.AreEqual(fooFirst.Payload, "GetFooSingleton");
        }
        public void Test_Resolve_ShouldReturnDiffTransientWithSomeSingletonDepUsingMethod()
        {
            // Arrange
            var container = new TestFactoryFromMethodsSet1();

            // Act
            var barFirst  = container.Resolve <Bar>();
            var barSecond = container.Resolve <Bar>();

            // Assert
            Assert.IsNotNull(barFirst);
            Assert.IsNotNull(barFirst.Foo);
            Assert.IsNotNull(barSecond);
            Assert.IsNotNull(barSecond.Foo);
            Assert.AreNotEqual(barFirst, barSecond);
            Assert.AreEqual(barFirst.Foo, barSecond.Foo);
        }