예제 #1
0
    def test_AddNone(self):
        from chipchop.price import Price

        price1 = Price()
        price2 = Price()

        price3 = price1 + price2

        assert price3.gross is None
        assert price3.tax is None
        assert price3.shipping is None
        assert price3.handling is None
        assert price3.other is None
        assert price3.net is None
예제 #2
0
    def test_addOther(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(other=None)
        price2 = Price(other=Decimal('1'))

        assert price1.add_other(Decimal('1')) == Decimal('1')
        assert price1.other == Decimal('1')

        assert price2.add_other(Decimal('1')) == Decimal('2')
        assert price2.other == Decimal('2')

        assert price2.add_other(None) == Decimal('2')
        assert price2.other == Decimal('2')

        def add_weirdobj():
            price2.add_other(object())
        self.assertRaises(ValueError, add_weirdobj)
예제 #3
0
    def test_addHandling(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(handling=None)
        price2 = Price(handling=Decimal('1'))

        assert price1.add_handling(Decimal('1')) == Decimal('1')
        assert price1.handling == Decimal('1')

        assert price2.add_handling(Decimal('1')) == Decimal('2')
        assert price2.handling == Decimal('2')

        assert price2.add_handling(None) == Decimal('2')
        assert price2.handling == Decimal('2')

        def add_weirdobj():
            price2.add_handling(object())
        self.assertRaises(ValueError, add_weirdobj)
예제 #4
0
    def test_addTax(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(tax=None)
        price2 = Price(tax=Decimal('1'))

        assert price1.add_tax(Decimal('1')) == Decimal('1')
        assert price1.tax == Decimal('1')

        assert price2.add_tax(Decimal('1')) == Decimal('2')
        assert price2.tax == Decimal('2')

        assert price2.add_tax(None) == Decimal('2')
        assert price2.tax == Decimal('2')

        def add_weirdobj():
            price2.add_tax(object())
        self.assertRaises(ValueError, add_weirdobj)
예제 #5
0
    def test_addGross(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(gross=None)
        price2 = Price(gross=Decimal('1'))

        assert price1.add_gross(Decimal('1')) == Decimal('1')
        assert price1.gross == Decimal('1')

        assert price2.add_gross(Decimal('1')) == Decimal('2')
        assert price2.gross == Decimal('2')

        assert price2.add_gross(None) == Decimal('2')
        assert price2.gross == Decimal('2')

        def add_weirdobj():
            price2.add_gross(object())
        self.assertRaises(ValueError, add_weirdobj)
예제 #6
0
    def test_AddAllToNone(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(gross=Decimal('1'),
                       tax=Decimal('1'),
                       shipping=Decimal('1'),
                       handling=Decimal('1'),
                       other=Decimal('1'))
        price2 = Price()

        price3 = price1 + price2

        assert price3.gross == Decimal('1')
        assert price3.tax == Decimal('1')
        assert price3.shipping == Decimal('1')
        assert price3.handling == Decimal('1')
        assert price3.other == Decimal('1')
        assert price3.net == Decimal('5')
예제 #7
0
    def test_IAddNoneToAll(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price()
        price2 = Price(gross=Decimal('1'),
                       tax=Decimal('1'),
                       shipping=Decimal('1'),
                       handling=Decimal('1'),
                       other=Decimal('1'))

        price1 += price2

        assert price1.gross == Decimal('1')
        assert price1.tax == Decimal('1')
        assert price1.shipping == Decimal('1')
        assert price1.handling == Decimal('1')
        assert price1.other == Decimal('1')
        assert price1.net == Decimal('5')
예제 #8
0
    def test_addOther(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(other=None)
        price2 = Price(other=Decimal('1'))

        assert price1.add_other(Decimal('1')) == Decimal('1')
        assert price1.other == Decimal('1')

        assert price2.add_other(Decimal('1')) == Decimal('2')
        assert price2.other == Decimal('2')

        assert price2.add_other(None) == Decimal('2')
        assert price2.other == Decimal('2')

        def add_weirdobj():
            price2.add_other(object())

        self.assertRaises(ValueError, add_weirdobj)
예제 #9
0
    def test_addHandling(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(handling=None)
        price2 = Price(handling=Decimal('1'))

        assert price1.add_handling(Decimal('1')) == Decimal('1')
        assert price1.handling == Decimal('1')

        assert price2.add_handling(Decimal('1')) == Decimal('2')
        assert price2.handling == Decimal('2')

        assert price2.add_handling(None) == Decimal('2')
        assert price2.handling == Decimal('2')

        def add_weirdobj():
            price2.add_handling(object())

        self.assertRaises(ValueError, add_weirdobj)
예제 #10
0
    def test_addTax(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(tax=None)
        price2 = Price(tax=Decimal('1'))

        assert price1.add_tax(Decimal('1')) == Decimal('1')
        assert price1.tax == Decimal('1')

        assert price2.add_tax(Decimal('1')) == Decimal('2')
        assert price2.tax == Decimal('2')

        assert price2.add_tax(None) == Decimal('2')
        assert price2.tax == Decimal('2')

        def add_weirdobj():
            price2.add_tax(object())

        self.assertRaises(ValueError, add_weirdobj)
예제 #11
0
    def test_addGross(self):
        from decimal import Decimal
        from chipchop.price import Price

        price1 = Price(gross=None)
        price2 = Price(gross=Decimal('1'))

        assert price1.add_gross(Decimal('1')) == Decimal('1')
        assert price1.gross == Decimal('1')

        assert price2.add_gross(Decimal('1')) == Decimal('2')
        assert price2.gross == Decimal('2')

        assert price2.add_gross(None) == Decimal('2')
        assert price2.gross == Decimal('2')

        def add_weirdobj():
            price2.add_gross(object())

        self.assertRaises(ValueError, add_weirdobj)
예제 #12
0
 def add_none():
     price = Price()
     price + None
예제 #13
0
 def add_unknown():
     price = Price()
     price + object()