Esempio n. 1
0
        public void TestAddingGettingStrategyToStrategyHolder()
        {
            StrategyHolder holder = new StrategyHolder();

            BurnableDisposalStrategy   burnStrategy  = new BurnableDisposalStrategy();
            RecyclableDisposalStrategy recStrategy   = new RecyclableDisposalStrategy();
            StorableDisposalStrategy   storeStrategy = new StorableDisposalStrategy();

            holder.AddStrategy(
                typeof(BurnableDisposableAttribute),
                burnStrategy);

            holder.AddStrategy(
                typeof(RecyclableDisposableAttribute),
                recStrategy);

            holder.AddStrategy(
                typeof(StorableDisposableAttribute),
                storeStrategy);

            Assert.AreEqual(burnStrategy,
                            holder.GetDisposalStrategy(typeof(BurnableDisposableAttribute)));

            Assert.AreEqual(recStrategy,
                            holder.GetDisposalStrategy(typeof(RecyclableDisposableAttribute)));

            Assert.AreEqual(storeStrategy,
                            holder.GetDisposalStrategy(typeof(StorableDisposableAttribute)));
        }
Esempio n. 2
0
        public void TestRemoveStrategy()
        {
            StrategyHolder holder = new StrategyHolder();

            BurnableDisposalStrategy   burnStrategy  = new BurnableDisposalStrategy();
            RecyclableDisposalStrategy recStrategy   = new RecyclableDisposalStrategy();
            StorableDisposalStrategy   storeStrategy = new StorableDisposalStrategy();

            holder.AddStrategy(
                typeof(BurnableDisposableAttribute),
                burnStrategy);

            holder.AddStrategy(
                typeof(RecyclableDisposableAttribute),
                recStrategy);

            holder.AddStrategy(
                typeof(StorableDisposableAttribute),
                storeStrategy);

            holder.RemoveStrategy(typeof(BurnableDisposableAttribute));

            holder.GetDisposalStrategy(typeof(BurnableDisposableAttribute));
        }