You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425
  1. import { expect, test } from 'vitest'
  2. import { Container } from '../src/core/container.js'
  3. const dims = { l: 10, w: 10, h: 10 } // inches
  4. const capacity = 4.329004329004329 // gallons
  5. test('container - calculates liquid volume correctly', () => {
  6. let testContainer = new Container(dims)
  7. expect(testContainer.level).toBe(0)
  8. expect(testContainer.liquidVolumeCapacity).toBe(capacity)
  9. expect(testContainer.liquidVolumeFilled).toBe(0)
  10. expect(testContainer.liquidVolumeRemaining).toBe(capacity)
  11. testContainer = new Container(dims, dims.h / 2)
  12. expect(testContainer.level).toBe(dims.h / 2)
  13. expect(testContainer.liquidVolumeCapacity).toBe(capacity)
  14. expect(testContainer.liquidVolumeFilled).toBe(capacity / 2)
  15. expect(testContainer.liquidVolumeRemaining).toBe(capacity - capacity / 2)
  16. testContainer = new Container(dims, dims.h)
  17. expect(testContainer.level).toBe(dims.h)
  18. expect(testContainer.liquidVolumeCapacity).toBe(capacity)
  19. expect(testContainer.liquidVolumeFilled).toBe(capacity)
  20. expect(testContainer.liquidVolumeRemaining).toBe(0)
  21. })