    @Test
    public void testGetCartShippingTotalWithSaleWithTaxInclInfoNetSameTax() throws Exception {


        final ShopService shopService = context.mock(ShopService.class, "shopService");

        final ShoppingCart cart = context.mock(ShoppingCart.class, "cart");
        final ShoppingContext cartCtx = context.mock(ShoppingContext.class, "cartCtx");
        final Total cartTotal = context.mock(Total.class, "cartTotal");

        final Shop shop = context.mock(Shop.class, "shop");

        final CartItem shipping1 = context.mock(CartItem.class, "shipping1");
        final CartItem shipping2 = context.mock(CartItem.class, "shipping2");

        context.checking(new Expectations() {{
            allowing(cart).getShoppingContext(); will(returnValue(cartCtx));
            allowing(cartCtx).getShopId(); will(returnValue(234L));
            allowing(cart).getCurrencyCode(); will(returnValue("EUR"));
            allowing(cart).getShippingList(); will(returnValue(Arrays.asList(shipping1, shipping2)));
            allowing(cart).getTotal(); will(returnValue(cartTotal));
            allowing(cartTotal).getDeliveryListCost(); will(returnValue(new BigDecimal("100.00")));
            allowing(cartTotal).getDeliveryCost(); will(returnValue(new BigDecimal("80.00")));
            allowing(cartTotal).getDeliveryCostAmount(); will(returnValue(new BigDecimal("80.00")));
            allowing(cartTotal).getDeliveryTax(); will(returnValue(new BigDecimal("13.33")));
            allowing(shopService).getById(234L); will(returnValue(shop));
            allowing(cartCtx).isTaxInfoEnabled(); will(returnValue(true));
            allowing(cartCtx).isTaxInfoUseNet(); will(returnValue(true));
            allowing(cartCtx).isTaxInfoShowAmount(); will(returnValue(true));
            allowing(shipping1).getTaxCode(); will(returnValue("NET"));
            allowing(shipping1).getTaxRate(); will(returnValue(new BigDecimal("20.00")));
            allowing(shipping2).getTaxCode(); will(returnValue("NET"));
            allowing(shipping2).getTaxRate(); will(returnValue(new BigDecimal("20.00")));
        }});

        final ShippingServiceFacade facade = new ShippingServiceFacadeImpl(null, null, shopService, null, null);


        final PriceModel model = facade.getCartShippingTotal(cart);

        assertNotNull(model);

        assertEquals(ShippingServiceFacadeImpl.CART_SHIPPING_TOTAL_REF, model.getRef());

        assertEquals("EUR", model.getCurrency());
        assertEquals("2", model.getQuantity().toPlainString());

        assertEquals("83.33", model.getRegularPrice().toPlainString());
        assertEquals("66.67", model.getSalePrice().toPlainString());

        assertTrue(model.isTaxInfoEnabled());
        assertTrue(model.isTaxInfoUseNet());
        assertTrue(model.isTaxInfoShowAmount());

        assertEquals("NET", model.getPriceTaxCode());
        assertEquals("20.00", model.getPriceTaxRate().toPlainString());
        assertFalse(model.isPriceTaxExclusive());
        assertEquals("13.33", model.getPriceTax().toPlainString());

        context.assertIsSatisfied();

    }