diff --git a/javascript/README.md b/javascript/README.md new file mode 100644 index 0000000..651c9cd --- /dev/null +++ b/javascript/README.md @@ -0,0 +1,9 @@ +# JavaScript beard checker + +To see the tests run in your browser, enter `file:////javascript/tests.html` in the url bar. + +``` bash +npm install +npm install -g qunit +qunit +``` diff --git a/javascript/test/beard_test.js b/javascript/test/beard_test.js new file mode 100644 index 0000000..2282048 --- /dev/null +++ b/javascript/test/beard_test.js @@ -0,0 +1,38 @@ +const beardExamples = require('../../shared/example_beards.json'); + +function hasABeard(facial_hair_over_limit, on_or_below_chin, uninterrupted_below_nose) { + return facial_hair_over_limit && (on_or_below_chin || uninterrupted_below_nose); +} + +const beardData = beardExamples.map(function(beard){ + let data = {} + data.facial_hair_over_limit = beard.facial_hair_over_5mm + data.on_or_below_chin = beard.facial_hair_on_or_below_chin + data.uninterrupted_below_nose = beard.facial_hair_uninterrupted + data.outcome = beard.outcome + return(data) +}) + +let passed_tests = []; +let failed_tests = []; + +beardData.forEach(function(beard){ + let result = hasABeard(beard.facial_hair_over_limit, beard.on_or_below_chin, beard.uninterrupted_below_nose); + if(String(result) == String(beard.outcome)){ + console.log("✅") + passed_tests.push(beard) + } else { + console.log("❌") + failed_tests.push(beard) + } +}) + +console.log(passed_tests.length + ' tests passed') +console.log(failed_tests.length + ' tests failed') + +failed_tests.forEach(function(test){ + console.log('Failed this beard:') + console.log(test) +}); + +// console.log(beardExamples); diff --git a/javascript/tests.html b/javascript/tests.html new file mode 100644 index 0000000..6d97352 --- /dev/null +++ b/javascript/tests.html @@ -0,0 +1,39 @@ + + + + + Beard Checker + + + + + + +
+
+ + +