Hi 
Folgenden Code möchte ich noch vereinfachen:
https://jsfiddle.net/GarfieldKlon/a30nhr7e/36/
Mir gefällt nicht, dass ich zweimal den Aufruf von einer fast identischen Funktion machen muss (fillValid und fillInvalid)
Jemand eine Idee wie ich das möglichst ohne Code-Duplication sauber hinkriege?
Folgenden Code möchte ich noch vereinfachen:
https://jsfiddle.net/GarfieldKlon/a30nhr7e/36/
Javascript:
const test = {
valid: [],
invalid: []
};
const methodsAndComparison = {
isPresent: {
valid: ['toBe(true)', 'toEqual(true)'],
invalid: ['toBe(false)', 'toEqual(false)']
},
isOpen: {
valid: ['toBe(true)', 'toEqual(true)'],
invalid: ['toBe(false)', 'toEqual(false)']
}
};
function fillValid(method, comparison) {
const codeSnippets = [
'some.expressions.' + method + '()).' + comparison + '; }',
'another.epxression.' + method + '()).' + comparison + ';',
];
for (let codeSnippet of codeSnippets) {
test.valid.push({
code: codeSnippet
});
}
}
function fillInvalid(method, comparison) {
const codeSnippets = [
'some.expressions.' + method + '()).' + comparison + '; }',
'another.epxression.' + method + '()).' + comparison + ';',
];
for (let codeSnippet of codeSnippets) {
test.invalid.push({
code: codeSnippet,
someMorStuff: 'goesHere'
});
}
}
for (let [method, comparisons] of Object.entries(methodsAndComparison)) {
for (let comparison of comparisons.valid) {
fillValid(method, comparison);
}
for (let comparison of comparisons.invalid) {
fillInvalid(method, comparison);
}
}
console.log(test);
Mir gefällt nicht, dass ich zweimal den Aufruf von einer fast identischen Funktion machen muss (fillValid und fillInvalid)
Jemand eine Idee wie ich das möglichst ohne Code-Duplication sauber hinkriege?