销售税问题
基本销售税对所有商品征收,税率是10%,但是书籍、食品和药品可以免征。
进口税是向所有进口商品征收的额外的税,税率5%,没有进口商品可以免征进口税。
当一个顾客采购物品时,他会收到一个收据,上面列出所有物品的总价,以及全部应付的税费。
税金需要上舍入到5分(0.05元)。比如,3.14应该上舍入成3.15, 2.48应该上舍入成2.50,
3.01上舍入成3.05。
需求:
需要你实现计算出一份订单中所有物品的总税金和总价的功能。.
1 请实现Program.cs的calculateResult()方法。
2 请创建需要的类来实现这个功能。你的实现应该符合面向对象设计的原则。
3 你的代码必须通过全部测试用例。 测试用例已经包含在文档中,请不要修改。
4 编程时请留意代码的可扩展性。业务要求可能会有改变,比如免税的商品品种可能增加,
或者有新的税种。我们希望你的实现对已有代码做尽可能小的改变就能支持这些扩展。
2. case1.xml :
<?xml version="1.0" encoding="utf-8" ?>
<testCase name="testCase1">
<items>
<item name="book" count="1" unitPrice="12.49" type="book" imported="false"></item>
<item name="music CD" count="1" unitPrice="14.99" type="av" imported="false"></item>
<item name="chocolate bar" count="1" unitPrice="0.85" type="food" imported="false"></item>
</items>
<result taxes="1.50" total="29.83"></result>
</testCase>
3. case2.xml:
<?xml version="1.0" encoding="utf-8" ?>
<testCase name="testCase2">
<items>
<item name="box of chocolates" count="1" unitPrice="10.00" type="food" imported="true"></item>
<item name="bottle of perfume" count="1" unitPrice="47.50" type="makeup" imported="true"></item>
</items>
<result taxes="7.65" total="65.15"></result>
</testCase>
4. case3.xml:
<?xml version="1.0" encoding="utf-8" ?>
<testCase name="testCase3">
<items>
<item name="bottle of perfume" count="1" unitPrice="27.99" type="makeup" imported="true"></item>
<item name="bottle of perfume" count="1" unitPrice="18.99" type="makeup" imported="false"></item>
<item name="packet of headache pills" count="1" unitPrice="9.75" type="medical" imported="false"></item>
<item name="box of chocolates" count="1" unitPrice="11.25" type="food" imported="true"></item>
</items>
<result taxes="6.70" total="74.68"></result>
基本销售税对所有商品征收,税率是10%,但是书籍、食品和药品可以免征。
进口税是向所有进口商品征收的额外的税,税率5%,没有进口商品可以免征进口税。
当一个顾客采购物品时,他会收到一个收据,上面列出所有物品的总价,以及全部应付的税费。
税金需要上舍入到5分(0.05元)。比如,3.14应该上舍入成3.15, 2.48应该上舍入成2.50,
3.01上舍入成3.05。
需求:
需要你实现计算出一份订单中所有物品的总税金和总价的功能。.
1 请实现Program.cs的calculateResult()方法。
2 请创建需要的类来实现这个功能。你的实现应该符合面向对象设计的原则。
3 你的代码必须通过全部测试用例。 测试用例已经包含在文档中,请不要修改。
4 编程时请留意代码的可扩展性。业务要求可能会有改变,比如免税的商品品种可能增加,
或者有新的税种。我们希望你的实现对已有代码做尽可能小的改变就能支持这些扩展。
2. case1.xml :
<?xml version="1.0" encoding="utf-8" ?>
<testCase name="testCase1">
<items>
<item name="book" count="1" unitPrice="12.49" type="book" imported="false"></item>
<item name="music CD" count="1" unitPrice="14.99" type="av" imported="false"></item>
<item name="chocolate bar" count="1" unitPrice="0.85" type="food" imported="false"></item>
</items>
<result taxes="1.50" total="29.83"></result>
</testCase>
3. case2.xml:
<?xml version="1.0" encoding="utf-8" ?>
<testCase name="testCase2">
<items>
<item name="box of chocolates" count="1" unitPrice="10.00" type="food" imported="true"></item>
<item name="bottle of perfume" count="1" unitPrice="47.50" type="makeup" imported="true"></item>
</items>
<result taxes="7.65" total="65.15"></result>
</testCase>
4. case3.xml:
<?xml version="1.0" encoding="utf-8" ?>
<testCase name="testCase3">
<items>
<item name="bottle of perfume" count="1" unitPrice="27.99" type="makeup" imported="true"></item>
<item name="bottle of perfume" count="1" unitPrice="18.99" type="makeup" imported="false"></item>
<item name="packet of headache pills" count="1" unitPrice="9.75" type="medical" imported="false"></item>
<item name="box of chocolates" count="1" unitPrice="11.25" type="food" imported="true"></item>
</items>
<result taxes="6.70" total="74.68"></result>
</testCase>