예제 #1
0
        public void WhenGetInstance_ShouldReturnInstanceNotNull()
        {
            //arrange act
            Multiton sut = Multiton.GetInstance("first");

            //assert
            Assert.NotNull(sut);
        }
예제 #2
0
        public void WhenGetInstance_WithTheDiffrentKey_ShouldReturnTheDifferentinstances()
        {
            //arrange act
            Multiton first = Multiton.GetInstance("first");
            Multiton sec   = Multiton.GetInstance("sec");

            //assert
            Assert.NotEqual(first, sec);
        }
예제 #3
0
        public void WhenGetInstance_WithTheSameKey_ShouldReturnTheSameinstance()
        {
            //arrange act
            Multiton first = Multiton.GetInstance("first");
            Multiton sec   = Multiton.GetInstance("first");

            //assert
            Assert.Equal(first, sec);
        }
예제 #4
0
        public void Can_Use_SingletonSelector()
        {
            var     logger      = Multiton.GetInstance <ClientLogger>();
            ILogger emaillogger = Multiton.GetInstance <EmailLogger>();

            Debug.WriteLine(logger.Provider);
            Debug.WriteLine(emaillogger.Provider);

            emaillogger.Log("hi from email logger");
            emaillogger.Provider = "new name";
            logger.Log("hello");
            Debug.WriteLine(logger.Provider);
            Debug.WriteLine(emaillogger.Provider);
        }