public void Test_Resolve_ShouldReturnDifferentObjectForTransientsUsingMethod()
        {
            // Arrange
            var container = new TestFactoryFromMethodsSet2();

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

            // Assert
            Assert.IsNotNull(fooFirst);
            Assert.IsNotNull(fooSecond);
            Assert.AreNotEqual(fooFirst, fooSecond);
            Assert.AreEqual(fooFirst.Payload, fooSecond.Payload);
            Assert.AreEqual(fooFirst.Payload, "GetFooFromTransient");
        }
        public void Test_Resolve_ShouldReturnDiffTransientWithTransientDepUsingMethod()
        {
            // Arrange
            var container = new TestFactoryFromMethodsSet2();

            // 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.AreNotEqual(barFirst.Foo, barSecond.Foo);
        }