Skip to content
This repository was archived by the owner on Oct 19, 2020. It is now read-only.

Commit 1fe552a

Browse files
added checks to param object tests to verify that all positions in the meshes are defined
1 parent e54e392 commit 1fe552a

File tree

10 files changed

+67
-9
lines changed

10 files changed

+67
-9
lines changed

test/scene/structure/parametric-objects/closet.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import closet from '../../../../src/scene/structure/parametric-objects/closet'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true}))
@@ -12,4 +13,7 @@ test('get closet data3d', async function() {
1213
expect(Object.keys(data3d.meshes)).toEqual([ 'closet' ])
1314
expect(data3d.meshes.closet.positions).toBeDefined()
1415
expect(data3d.meshes.closet.uvs).toBeDefined()
16+
17+
// check for valid vertices
18+
expect(data3d.meshes.closet.positions.every(a => !isNaN(a))).toBeTruthy()
1519
});

test/scene/structure/parametric-objects/column.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import column from '../../../../src/scene/structure/parametric-objects/column'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true}))
@@ -10,7 +11,14 @@ test('get column data3d', async function() {
1011

1112
// mesh names
1213
expect(Object.keys(data3d.meshes)).toEqual([ 'top', 'sides', 'bottom' ])
14+
expect(data3d.meshes.top.positions).toBeDefined()
15+
expect(data3d.meshes.top.uvs).toBeDefined()
16+
expect(data3d.meshes.top.normals).toBeDefined()
1317
expect(data3d.meshes.sides.positions).toBeDefined()
1418
expect(data3d.meshes.sides.uvs).toBeDefined()
1519
expect(data3d.meshes.sides.normals).toBeDefined()
20+
21+
// check for valid vertices
22+
expect(data3d.meshes.top.positions.every(a => !isNaN(a))).toBeTruthy()
23+
expect(data3d.meshes.sides.positions.every(a => !isNaN(a))).toBeTruthy()
1624
});

test/scene/structure/parametric-objects/door.js

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import door from '../../../../src/scene/structure/parametric-objects/door'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true}))
@@ -12,4 +13,13 @@ test('get door data3d', async function() {
1213
expect(Object.keys(data3d.meshes)).toEqual(['frame', 'handle', 'leaf', 'threshold'])
1314
expect(data3d.meshes.frame.positions).toBeDefined()
1415
expect(data3d.meshes.frame.normals).toBeDefined()
16+
expect(data3d.meshes.handle.positions).toBeDefined()
17+
expect(data3d.meshes.handle.normals).toBeDefined()
18+
expect(data3d.meshes.leaf.positions).toBeDefined()
19+
expect(data3d.meshes.leaf.normals).toBeDefined()
20+
21+
// check for valid vertices
22+
expect(data3d.meshes.frame.positions.every(a => !isNaN(a))).toBeTruthy()
23+
expect(data3d.meshes.handle.positions.every(a => !isNaN(a))).toBeTruthy()
24+
expect(data3d.meshes.leaf.positions.every(a => !isNaN(a))).toBeTruthy()
1525
});

test/scene/structure/parametric-objects/floor.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import floor from '../../../../src/scene/structure/parametric-objects/floor'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true, require: require}))
@@ -13,4 +14,8 @@ test('get floor data3d', async function() {
1314
expect(data3d.meshes.top.positions).toBeDefined()
1415
expect(data3d.meshes.top.uvs).toBeDefined()
1516
expect(data3d.meshes.top.normals).toBeDefined()
17+
// check for valid vertices
18+
expect(data3d.meshes.top.positions.every(a => !isNaN(a))).toBeTruthy()
19+
expect(data3d.meshes.sides.positions.every(a => !isNaN(a))).toBeTruthy()
20+
expect(data3d.meshes.ceiling.positions.every(a => !isNaN(a))).toBeTruthy()
1621
});

test/scene/structure/parametric-objects/kitchen.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import kitchen from '../../../../src/scene/structure/parametric-objects/kitchen'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true, require: require }))
@@ -12,4 +13,11 @@ test('get kitchen data3d', async function() {
1213
expect(Object.keys(data3d.meshes)).toEqual(['sink_0', 'kitchen', 'counter', 'oven', 'cooktop', 'extractor', 'microwave'])
1314
expect(data3d.meshes.kitchen.positions).toBeDefined()
1415
expect(data3d.meshes.kitchen.uvs).toBeDefined()
16+
// check for valid vertices
17+
expect(data3d.meshes.sink_0.positions.every(a => !isNaN(a))).toBeTruthy()
18+
expect(data3d.meshes.kitchen.positions.every(a => !isNaN(a))).toBeTruthy()
19+
expect(data3d.meshes.counter.positions.every(a => !isNaN(a))).toBeTruthy()
20+
expect(data3d.meshes.oven.positions.every(a => !isNaN(a))).toBeTruthy()
21+
expect(data3d.meshes.cooktop.positions.every(a => !isNaN(a))).toBeTruthy()
22+
expect(data3d.meshes.extractor.positions.every(a => !isNaN(a))).toBeTruthy()
1523
});

test/scene/structure/parametric-objects/polyfloor.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import polyfloor from '../../../../src/scene/structure/parametric-objects/polyfloor'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true}))
@@ -13,4 +14,8 @@ test('get polyfloor data3d', async function() {
1314
expect(data3d.meshes.top.positions).toBeDefined()
1415
expect(data3d.meshes.top.uvs).toBeDefined()
1516
expect(data3d.meshes.top.normals).toBeDefined()
17+
// check for valid vertices
18+
expect(data3d.meshes.top.positions.every(a => !isNaN(a))).toBeTruthy()
19+
expect(data3d.meshes.sides.positions.every(a => !isNaN(a))).toBeTruthy()
20+
expect(data3d.meshes.ceiling.positions.every(a => !isNaN(a))).toBeTruthy()
1621
});

test/scene/structure/parametric-objects/railing.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import railing from '../../../../src/scene/structure/parametric-objects/railing'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true, require: require}))
@@ -11,4 +12,6 @@ test('get railing data3d', async function() {
1112
// mesh names
1213
expect(Object.keys(data3d.meshes)).toEqual([ 'railing' ])
1314
expect(data3d.meshes.railing.positions).toBeDefined()
15+
// check for valid vertices
16+
expect(data3d.meshes.railing.positions.every(a => !isNaN(a))).toBeTruthy()
1417
});

test/scene/structure/parametric-objects/stairs.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import stairs from '../../../../src/scene/structure/parametric-objects/stairs'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true}))
@@ -12,4 +13,8 @@ test('get stairs data3d', async function() {
1213
expect(Object.keys(data3d.meshes)).toEqual([ 'steps', 'tread', 'railing' ])
1314
expect(data3d.meshes.steps.positions).toBeDefined()
1415
expect(data3d.meshes.steps.uvs).toBeDefined()
16+
// check for valid vertices
17+
expect(data3d.meshes.steps.positions.every(a => !isNaN(a))).toBeTruthy()
18+
expect(data3d.meshes.tread.positions.every(a => !isNaN(a))).toBeTruthy()
19+
expect(data3d.meshes.railing.positions.every(a => !isNaN(a))).toBeTruthy()
1520
});

test/scene/structure/parametric-objects/wall.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js';
1+
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import wall from '../../../../src/scene/structure/parametric-objects/wall'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true, require: require}))
@@ -13,4 +14,9 @@ test('get wall data3d', async function() {
1314
expect(data3d.meshes.front.positions).toBeDefined()
1415
expect(data3d.meshes.front.uvs).toBeDefined()
1516
expect(data3d.meshes.front.normals).toBeDefined()
17+
// check for valid vertices
18+
expect(data3d.meshes.front.positions.every(a => !isNaN(a))).toBeTruthy()
19+
expect(data3d.meshes.back.positions.every(a => !isNaN(a))).toBeTruthy()
20+
expect(data3d.meshes.top.positions.every(a => !isNaN(a))).toBeTruthy()
21+
expect(data3d.meshes.base.positions.every(a => !isNaN(a))).toBeTruthy()
1622
});

test/scene/structure/parametric-objects/window.js

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import applyDefaults from '../../../../src/scene/structure/apply-defaults.js'
22
import window3d from '../../../../src/scene/structure/parametric-objects/window'
3+
import { isNaN } from 'lodash'
34

45
// mock runtime module to prevent from tests blowing up
56
jest.mock('../../../../src/core/runtime.js', () => ({isBrowser: false, isNode: true}))
@@ -12,4 +13,7 @@ test('get window data3d', async function(){
1213
expect(Object.keys(data3d.meshes)).toEqual([ 'frame', 'glass' ])
1314
expect(data3d.meshes.frame.positions).toBeDefined()
1415
expect(data3d.meshes.frame.normals).toBeDefined()
16+
// check for valid vertices
17+
expect(data3d.meshes.frame.positions.every(a => !isNaN(a))).toBeTruthy()
18+
expect(data3d.meshes.glass.positions.every(a => !isNaN(a))).toBeTruthy()
1519
});

0 commit comments

Comments
 (0)