예제 #1
0
        public void RegisterBid_ShouldThrowExceptionDueCurrency()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person  goodPerson  = GetGoodPerson(broker);
            Auction goodAuction = GetGoodAuction(broker);

            Auction registeredAuction = broker.RegisterAuction(goodPerson, goodAuction);

            Assert.NotNull(registeredAuction);
            Assert.NotEqual(0, registeredAuction.IdAuction);

            Person bidder    = GetGoodPerson2(broker);
            double bad_value = goodAuction.StartValue - 1;

            Bid bid = new Bid()
            {
                Currency = broker.GetCurrencyByName("eur"),
                Date     = DateTime.Now,
                Value    = bad_value,
                Auction  = goodAuction,
            };

            Assert.ThrowsAny <Exception>(() => broker.RegisterBid(bidder, bid, goodAuction));
        }
예제 #2
0
        public void RegisterBid_ShouldThrowExceptionDueBidder()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person  goodPerson  = GetGoodPerson(broker);
            Auction goodAuction = GetGoodAuction(broker);

            Auction registeredAuction = broker.RegisterAuction(goodPerson, goodAuction);

            Assert.NotNull(registeredAuction);
            Assert.NotEqual(0, registeredAuction.IdAuction);

            Person bidder = new Person()
            {
                Name = "bad"
            };
            double value = goodAuction.StartValue + 1;

            Bid bid = new Bid()
            {
                Currency = goodAuction.Currency,
                Date     = DateTime.Now,
                Value    = value,
                Auction  = goodAuction,
            };

            Assert.ThrowsAny <Exception>(() => broker.RegisterBid(bidder, bid, goodAuction));
        }
예제 #3
0
        public void GetAvailableCategories_ShouldReturnNonEmptyList()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Assert.NotNull(broker.GetAvailableCategories());
            Assert.NotEmpty(broker.GetAvailableCategories());
        }
예제 #4
0
        public void RegisterPerson_ShouldInsertThePerson()
        {
            BiddingBroker broker     = new BiddingBroker(InitMockedDb());
            Person        goodPerson = GetGoodPerson(broker);

            Assert.NotEqual(0, goodPerson.IdPerson);
        }
예제 #5
0
        public void PostMark_ShouldPostTheMarkAndUpdate()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person goodPerson = GetGoodPerson(broker);
            Person good2      = GetGoodPerson2(broker);

            broker.PostMark(goodPerson, good2, 5);
        }
예제 #6
0
        public void PostMark_ShouldThrowDueMarkInvalid(int mark)
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person goodPerson = GetGoodPerson(broker);
            Person good2      = GetGoodPerson2(broker);

            Assert.ThrowsAny <Exception>(() => broker.PostMark(goodPerson, good2, mark));
        }
예제 #7
0
        public void RegisterPerson_ShouldThrowDueExisting()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());
            Person        bad    = GetGoodPerson(broker);

            bad.IdPerson = 0;

            Assert.NotNull(broker.RegisterPerson(bad));
        }
예제 #8
0
        public void RegisterPerson_ShouldNotInsertThePerson()
        {
            BiddingBroker broker     = new BiddingBroker(InitMockedDb());
            Person        badPerson2 = new Person()
            {
                Name = null, Phone = "07299544321"
            };

            Assert.ThrowsAny <Exception>(() => broker.RegisterPerson(badPerson2));
        }
예제 #9
0
        public void RegisterPerson_ShouldThrowDueId()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person bad = new Person()
            {
                IdPerson = 1, Name = "gigica", Phone = "07299544321"
            };

            Assert.ThrowsAny <Exception>(() => broker.RegisterPerson(bad));
        }
예제 #10
0
        public void PostMark_ShouldThrowDueIdReceiver()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person goodPerson = GetGoodPerson(broker);
            Person good2      = GetGoodPerson2(broker);

            good2.IdPerson = 0;

            Assert.ThrowsAny <Exception>(() => broker.PostMark(goodPerson, good2, 5));
        }
예제 #11
0
        public Product GetGoodProduct(BiddingBroker broker)
        {
            Product goodProduct = new Product()
            {
                Name = "Mouse", Description = "Logitech"
            };

            goodProduct.Category = broker.GetCategoryByName("PC Periferics");

            return(goodProduct);
        }
예제 #12
0
        public Person GetGoodPerson(BiddingBroker broker)
        {
            Person goodPerson = new Person()
            {
                Name = "gigica", Phone = "07299544321"
            };

            goodPerson = broker.RegisterPerson(goodPerson);

            return(goodPerson);
        }
예제 #13
0
        public Person GetGoodPerson2(BiddingBroker broker)
        {
            Person goodPerson = new Person()
            {
                Name = "ggz", Phone = "9933845523"
            };

            goodPerson = broker.RegisterPerson(goodPerson);

            return(goodPerson);
        }
예제 #14
0
        public void GetPersonByPhone_ShouldReturnPerson(string phone)
        {
            BiddingBroker broker     = new BiddingBroker(InitMockedDb());
            Person        goodPerson = new Person()
            {
                Name = "gigica", Phone = phone
            };

            broker.RegisterPerson(goodPerson);

            Assert.NotNull(broker.GetPersonByPhone(phone));
        }
예제 #15
0
        public void PostMark_ShouldThrowDueUnregisteredPerson()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());
            Person        good   = GetGoodPerson(broker);

            Person bad = new Person()
            {
                Name = "ups", Phone = "un phone"
            };

            Assert.ThrowsAny <Exception>(() => broker.PostMark(good, bad, 5));
        }
예제 #16
0
        public void RegisterAuction_ShouldRegisterOrReturnAlreadyRegistered()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person goodPerson = GetGoodPerson(broker);

            Auction goodAuction = GetGoodAuction(broker);

            Auction registeredAuction = broker.RegisterAuction(goodPerson, goodAuction);

            Assert.NotNull(registeredAuction);
            Assert.NotEqual(0, registeredAuction.IdAuction);
        }
예제 #17
0
        public void RegisterAuction_ShouldThrowExceptionDueOfferor()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person badPerson3 = new Person()
            {
                Name = "gigica", Phone = null
            };

            Auction goodAuction = GetGoodAuction(broker);

            Assert.ThrowsAny <Exception>(() => broker.RegisterAuction(badPerson3, goodAuction));
        }
예제 #18
0
        void EndAuction_ShouldThrowException()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person  goodPerson  = GetGoodPerson(broker);
            Auction goodAuction = GetGoodAuction(broker);

            Auction registeredAuction = broker.RegisterAuction(goodPerson, goodAuction);

            Assert.NotNull(registeredAuction);
            Assert.NotEqual(0, registeredAuction.IdAuction);

            Person good2 = GetGoodPerson2(broker);

            Assert.ThrowsAny <Exception>(() => broker.EndAuction(good2, goodAuction));
        }
예제 #19
0
        public void RegisterAuction_ShouldThrowExceptionDueProduct()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person  goodPerson  = GetGoodPerson(broker);
            Auction goodAuction = GetGoodAuction(broker);

            Product badProduct = new Product()
            {
                Name = "bad"
            };

            goodAuction.Product = badProduct;

            Assert.ThrowsAny <Exception>(() => broker.RegisterAuction(goodPerson, goodAuction));
        }
예제 #20
0
        public Auction GetGoodAuction(BiddingBroker broker)
        {
            Product goodProduct = GetGoodProduct(broker);

            double   startValue = 123.3;
            Currency currency   = broker.GetCurrencyByName("ron");

            DateTime startDate = DateTime.Now;
            DateTime endDate   = DateTime.Now.AddDays(1);

            Auction goodAuction = new Auction()
            {
                StartDate  = startDate,
                EndDate    = endDate,
                StartValue = startValue
            };

            goodAuction.Product  = goodProduct;
            goodAuction.Currency = currency;

            return(goodAuction);
        }
예제 #21
0
        public void RegisterBid_ShouldRegisterBid()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person  goodPerson  = GetGoodPerson(broker);
            Auction goodAuction = GetGoodAuction(broker);

            Auction registeredAuction = broker.RegisterAuction(goodPerson, goodAuction);

            Assert.NotNull(registeredAuction);
            Assert.NotEqual(0, registeredAuction.IdAuction);

            Person bidder = GetGoodPerson2(broker);
            double value  = goodAuction.StartValue + 1;

            Bid bid = new Bid()
            {
                Currency = goodAuction.Currency,
                Date     = DateTime.Now,
                Value    = value,
                Auction  = goodAuction,
            };

            //SHOULD NOT THROW
            bool throwed = false;

            try
            {
                broker.RegisterBid(bidder, bid, goodAuction);
            } catch (Exception)
            {
                throwed = true;
            }

            Assert.False(throwed);
        }
예제 #22
0
        [Fact] void EndAuction_ShouldEndAuction()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Person  goodPerson  = GetGoodPerson(broker);
            Auction goodAuction = GetGoodAuction(broker);

            Auction registeredAuction = broker.RegisterAuction(goodPerson, goodAuction);

            Assert.NotNull(registeredAuction);
            Assert.NotEqual(0, registeredAuction.IdAuction);

            bool didThrow = false;

            try
            {
                broker.EndAuction(goodPerson, goodAuction);
            } catch (Exception)
            {
                didThrow = true;
            }

            Assert.False(didThrow);
        }
예제 #23
0
        public void GetCurrencyConverter_ShouldReturnCurrencyConverter()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Assert.NotNull(broker.GetCurrencyConverter());
        }
예제 #24
0
        public void GetCurrencyByName_ShouldNotThrow(string name)
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Assert.ThrowsAny <Exception>(() => broker.GetCurrencyByName(name));
        }
예제 #25
0
        public void GetCategoryByName_ShouldReturnCategory()
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Assert.NotNull(broker.GetCategoryByName("Home"));
        }
예제 #26
0
        public void GetPersonByPhone_ShouldReturnNullDueNotFound(string phone)
        {
            BiddingBroker broker = new BiddingBroker(InitMockedDb());

            Assert.Null(broker.GetPersonByPhone(phone));
        }