Exemple #1
0
        public HybridSetTest()
        {
            _Enumerable = Substitute.For <IEnumerable <string> >();
            _LetterSimpleSetSubstitute = Substitute.For <ILetterSimpleSet <string> >();
            _LetterSimpleSetFactory    = Substitute.For <ILetterSimpleSetFactory>();
            _LetterSimpleSetFactory.GetDefault <string>().Returns(_LetterSimpleSetSubstitute);
            _LetterSimpleSetFactory.GetDefault <string>(Arg.Any <string>()).Returns(_LetterSimpleSetSubstitute);
            _LetterSimpleSetFactory.GetDefault <string>(Arg.Any <IEnumerable <string> >()).Returns(arg =>
            {
                _GetDefaultParameter = ((IEnumerable <string>)arg[0]).ToList();
                return(_LetterSimpleSetSubstitute);
            });

            bool res;

            _LetterSimpleSetSubstitute.Add(Arg.Any <string>(), out res).Returns(_LetterSimpleSetSubstitute);

            _Factory = LetterSimpleSetFactoryBuilder.Factory;
            LetterSimpleSetFactoryBuilder.Factory = _LetterSimpleSetFactory;
        }
        public ILetterSimpleSet <T> Add(T item, out bool success)
        {
            var res = Add(item);

            if (res != null)
            {
                success = res.Value;
                return(this);
            }

            success = true;
            return(_Factory.GetDefault((T)_SingleItem, item));
        }