24 lines
912 B
TypeScript
24 lines
912 B
TypeScript
|
import { length } from "enheter";
|
||
|
import { AreaProduct, LengthProduct, price } from "../product";
|
||
|
|
||
|
describe("Product tests", () => {
|
||
|
|
||
|
it(`Length product gives correct price for a shorter length`, () => {
|
||
|
const standard = new LengthProduct(price("USD", 20), length("foot", 4));
|
||
|
const comparison = standard.priceFor(length("foot", 2));
|
||
|
expect(comparison.value).toEqual(10);
|
||
|
});
|
||
|
|
||
|
it(`Length product gives correct price for a longer length`, () => {
|
||
|
const standard = new LengthProduct(price("USD", 20), length("foot", 4));
|
||
|
const comparison = standard.priceFor(length("foot", 8));
|
||
|
expect(comparison.value).toEqual(40);
|
||
|
});
|
||
|
|
||
|
it(`Length product gives correct price if different units`, () => {
|
||
|
const standard = new LengthProduct(price("USD", 10), length("foot", 1));
|
||
|
const comparison = standard.priceFor(length("inch", 24));
|
||
|
expect(comparison.value).toEqual(20);
|
||
|
});
|
||
|
|
||
|
});
|