Example #1
0
        public void ShouldEquate()
        {
            //assign
            IColor  red      = new ColorRed();
            Crystal crystal1 = new Crystal(red);
            Crystal crystal2 = new Crystal(red);

            //assert
            crystal1.Should().Be(crystal2);
        }
Example #2
0
        public void ShouldNotMatch_Blue_Red()
        {
            //assign
            IColor redColor  = new ColorRed();
            IColor blueColor = new ColorBlue();
            //act
            bool matches = blueColor.Matches(redColor);

            //assert
            matches.Should().BeFalse();
        }
Example #3
0
        public void ShouldMatch_Red_Red()
        {
            //assign
            IColor redColor1 = new ColorRed();
            IColor redColor2 = new ColorRed();
            //act
            bool matches = redColor1.Matches(redColor2);

            //assert
            matches.Should().BeTrue();
        }
Example #4
0
        public void ShouldNotMatch_White_Red()
        {
            //assign
            IColor redColor = new ColorRed();
            IColor white    = new ColorWhite();
            //act
            bool matches = white.Matches(redColor);

            //assert
            matches.Should().BeFalse();
        }
Example #5
0
        public void ShouldNotMatch_Red_Green()
        {
            //assign
            IColor redColor = new ColorRed();
            IColor green    = new ColorGreen();
            //act
            bool matches = redColor.Matches(green);

            //assert
            matches.Should().BeFalse();
        }
        public void Register_Instance_Singleton_NotThrow()
        {
            var container = Container.Create();
            var instance  = new ColorRed();

            container.Register(Scope.Singleton, instance);

            container.ThrowIfNotResolved();

            Assert.Pass();
        }
        public void Register_Instances_Transient_Unique()
        {
            var container = Container.Create();

            var instanceRedFirst  = new ColorRed();
            var instanceRedSecond = new ColorRed();
            var instanceRedThird  = new ColorRed();

            container.Register(Scope.Transient, instanceRedFirst);
            container.Register(Scope.Transient, instanceRedSecond);
            container.Register(Scope.Transient, instanceRedThird);

            var reds = container.GetCachedMultiple <ColorRed>();

            Assert.AreEqual(3, reds.Length);
            CollectionAssert.AllItemsAreUnique(reds);
        }
Example #8
0
        public void Resolve_Transient_All_Instances_Same()
        {
            const int EXPECTED_COUNT = 2;

            var container = Container.Create();

            var colorRedOne = new ColorRed();
            var colorRedTwo = new ColorRed();

            container.Register(Scope.Transient, colorRedOne);
            container.Register(Scope.Transient, colorRedTwo);

            var colors      = container.ResolveAll <ColorRed>();
            var actualCount = colors.Length;

            Assert.AreEqual(EXPECTED_COUNT, actualCount);
            Assert.AreNotEqual(colors[0], colors[1]);
        }
Example #9
0
        public void Resolve_Transient_All_Instances_Different()
        {
            const int EXPECTED_COUNT = 2;

            var container = Container.Create();

            var colorRed  = new ColorRed();
            var colorBlue = new ColorBlue();

            container.Register <IColor, ColorRed>(Scope.Transient, colorRed);
            container.Register <IColor, ColorBlue>(Scope.Transient, colorBlue);

            var colors      = container.ResolveAll <IColor>();
            var actualCount = colors.Length;

            Assert.AreEqual(EXPECTED_COUNT, actualCount);
            Assert.AreNotEqual(colors[0], colors[1]);
        }