53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
import { buildComputationFromProps } from '/imports/api/engine/computation/buildCreatureComputation.js';
|
|
import { assert } from 'chai';
|
|
import computeCreatureComputation from '../../computeCreatureComputation.js';
|
|
import { propsFromForest } from '/imports/api/properties/tests/propTestBuilder.testFn.js';
|
|
|
|
export default function () {
|
|
const computation = buildComputationFromProps(testProperties);
|
|
computeCreatureComputation(computation);
|
|
const prop = id => computation.propsById[id];
|
|
assert.equal(prop('strengthId').value, 26);
|
|
}
|
|
|
|
var testProperties = propsFromForest([
|
|
{
|
|
variableName: 'strength',
|
|
type: 'attribute',
|
|
attributeType: 'ability',
|
|
baseValue: {
|
|
calculation: '8'
|
|
},
|
|
}, {
|
|
// This strength is later in order, so it will override the other
|
|
_id: 'strengthId',
|
|
variableName: 'strength',
|
|
type: 'attribute',
|
|
attributeType: 'ability',
|
|
baseValue: {
|
|
calculation: '10'
|
|
},
|
|
}, {
|
|
type: 'effect',
|
|
operation: 'base',
|
|
amount: {
|
|
calculation: '10 + 2'
|
|
},
|
|
stats: ['strength'],
|
|
}, {
|
|
type: 'effect',
|
|
operation: 'add',
|
|
amount: {
|
|
calculation: '1'
|
|
},
|
|
stats: ['strength'],
|
|
}, {
|
|
type: 'effect',
|
|
operation: 'mul',
|
|
amount: {
|
|
calculation: '2'
|
|
},
|
|
stats: ['strength'],
|
|
},
|
|
]);
|