Beispiel #1
0
        public void UpdateTheLadder()
        {
            var priceSizes = new PriceSizesStub().WithPriceSize(1.01, 2.00);

            _priceSizeLadder.Update(priceSizes, 0);

            Assert.Equal(2.00, _priceSizeLadder.GetSizeForPrice(1.01), 2);
        }
Beispiel #2
0
        public void HandleNullSize()
        {
            var priceSizes = new PriceSizesStub()
                             .WithPriceSize(1.01, null);

            _priceSizeLadder.Update(priceSizes, 0);

            Assert.Equal(0, _priceSizeLadder.GetSizeForPrice(1.01));
        }
Beispiel #3
0
        public void HandleNullPrice()
        {
            var priceSizes = new PriceSizesStub()
                             .WithPriceSize(null, 10.99);

            _priceSizeLadder.Update(priceSizes, 0);

            Assert.Equal(0, _priceSizeLadder.GetSizeForPrice(0));
        }
Beispiel #4
0
        public void CalculateTotalSize(double price, double size)
        {
            var priceSizes = new PriceSizesStub()
                             .WithPriceSize(price, size)
                             .WithPriceSize(12, 20.78);

            _priceSizeLadder.Update(priceSizes, 0);
            var expected = size + 20.78;

            Assert.Equal(expected, _priceSizeLadder.TotalSize());
        }
Beispiel #5
0
        public void WithMultiplePriceSizesUpdateTheLadderWithEach()
        {
            var priceSizes = new PriceSizesStub()
                             .WithPriceSize(1.01, 2.00)
                             .WithPriceSize(1.02, 5.00);

            _priceSizeLadder.Update(priceSizes, 0);

            Assert.Equal(2.00, _priceSizeLadder.GetSizeForPrice(1.01), 2);
            Assert.Equal(5.00, _priceSizeLadder.GetSizeForPrice(1.02), 2);
        }
Beispiel #6
0
        public void CalculateTotalReturn(double price, double size)
        {
            var priceSizes = new PriceSizesStub()
                             .WithPriceSize(price, size)
                             .WithPriceSize(12, 20.78);

            _priceSizeLadder.Update(priceSizes, 0);
            var expected = Math.Round((price * size) - size, 2);

            expected += Math.Round((12 * 20.78) - 20.78, 2);

            Assert.Equal(expected, _priceSizeLadder.TotalReturn());
        }