@neutrium/pipe
Version:
The pipe module of the Neutrium library
93 lines (66 loc) • 2.94 kB
JavaScript
var ISO_11922_Pipe = require('../dist/ISO_11922_Pipe').ISO_11922_Pipe;
describe("General ISO 11922 PE Pipe COnstructor Tests", function() {
it('Invalid size throws error ', function() {
expect(function() { new ISO_11922_Pipe("110", "3.2", "PE100")}).toThrow(new Error("Invalid nominal pressure rating (PN) specified"));
});
it('Invalid nominal throws error ', function() {
expect(function() { new ISO_11922_Pipe("100mm", "4")}).toThrow(new Error("Invalid nominal size provided"));
});
it('Invalid size and PN type combo throws error ', function() {
expect(function() { new ISO_11922_Pipe("90mm", "4")}).toThrow(new Error("Invalid combination of PN rating and nominal size provided"));
});
});
describe("Testing PN10 200mm Pipe", function() {
var pipe = new ISO_11922_Pipe("200mm", "10");
it('Internal diameter correct ', function() {
expect(pipe.id.scalar.toNumber()).toEqual(176.2);
});
it('Outer diameter correct ', function() {
expect(pipe.od.scalar.toNumber()).toEqual(200);
});
it('Wall thickness correct ', function() {
expect(pipe.wt.scalar.toNumber()).toEqual(11.9);
});
it('Internal cross sectional area correct ', function() {
expect(pipe.icsa.scalar.toSignificantDigits(13).toNumber()).toEqual(24383.81695603);
});
it('External cross sectional area correct ', function() {
expect(pipe.ecsa.scalar.toSignificantDigits(13).toNumber()).toEqual(31415.92653590);
});
});
describe("Testing PN10 200mm Pipe with alternate input units", function() {
var pipe = new ISO_11922_Pipe("7.874015748in", "10");
it('Internal diameter correct ', function() {
expect(pipe.id.scalar.toSignificantDigits(10).toNumber()).toEqual(6.937007874);
});
it('Outer diameter correct ', function() {
expect(pipe.od.scalar.toSignificantDigits(10).toNumber()).toEqual(7.874015748);
});
it('Wall thickness correct ', function() {
expect(pipe.wt.scalar.toSignificantDigits(10).toNumber()).toEqual(0.468503937);
});
it('Internal cross sectional area correct ', function() {
expect(pipe.icsa.scalar.toSignificantDigits(10).toNumber()).toEqual(37.79499187);
});
it('External cross sectional area correct ', function() {
expect(pipe.ecsa.scalar.toSignificantDigits(10).toNumber()).toEqual(48.69478352);
});
});
describe("Testing 100mm inch Type A raw(\"m\") output", function() {
var pipe = new ISO_11922_Pipe("200mm", "10").raw("m");
it('Internal diameter correct ', function() {
expect(pipe.id).toEqual(0.1762);
});
it('Outer diameter correct ', function() {
expect(pipe.od).toEqual(0.200);
});
it('Wall thickness correct ', function() {
expect(pipe.wt).toEqual(0.0119);
});
it('Internal cross sectional area correct ', function() {
expect(+pipe.icsa.toFixed(10)).toEqual(0.0243838170);
});
it('External cross sectional area correct ', function() {
expect(+pipe.ecsa.toFixed(10)).toEqual(0.0314159265);
});
});