Kenndy: I think we don’t lose reausability with that
Kenndy: Well, anyway I’m still experimenting
Kenndy: Right now it feels simpler and yet as powerful
Riska: Yeah seems that way to me too
Riska: It’s reusable because you’re putting each step into a function, similar to how you would write a function with Cu***ber to match some phrase
Riska: Similarly it keeps the test easy to read as the test function describes a step, rather than the often very complex implementation for an e2e test
Kenndy: There are complex implementation details, but encapsulated, this is what bothers me
Kenndy: I don’t want my tests to broke after some trivial changes
Kenndy: Or I should say, not changes but refactor
Kenndy: Behaviour stays the same
Splain: Hey guys, I’m looking for a basic utility that I know is out there but I don’t know what it’s called. I have a bunch of numbers for example, ranging from 324 to 188,012. I’d like to give each number a value of 0-100 based on where it falls in the stack
Vilca: Ie in that case, 324 would be 0, 188,012 would be 100, and whatever falls in between would round to the nearest number between 1-99
Tutino: What is that logic called so I can google it?
Kenndy: Timwis: I think “normalized range”
Dimare: Interesting Kenndy. And if I wanted there to only be 5 breaks between 0 and 100? ie they fall into the “0, 20, 40, 60, 80, or 100 bucket”?
Theis: Https://www.npmjs.com/package/range perfect! thanks!
Lyssy: Hm, still need to figure out which step each value falls into
Pappan: I see I can get an array of possible steps
Kenndy: Tell me what input you have
Kenndy: And what uotput you want
Riska: Kenndy: yeah that’s what I mean, the test itself is easy to understand because the detail that’s not relevant to the reader of the test is in the function
Duperclay: Well i have geojson, which I’ll iterate through, giving me an object of properties. One of those properties is the “value”. I’d like to feed that into this “color picker”, which I’ve already given the min & max and a list of colors to
Battistini: In fact, I’ll probably use TinyColor to give it *one* color and use the range/step to *darken* the color
Verville: So on initializing this little util, I imagine I’ll p*** it the min, max, and number of steps.
Poter: Then for each object in the array, I’ll p*** the initialized util the value and get back whatever step it falls on
Saltz: Yes, i think that would be ideal
Kenndy: I need concrete example
Kenndy: Like: input=0, 10, step=2 = 0, 2, 4, 6, 8
Riska: Btw, I have a new article on Sitepoint. Promises in JS unit tests: the definitive guide http://www.sitepoint.com/promises-in-javascript-unit-tests-the-definitive-guide/
Cotugno: Timwis: are you after a colour picker that ends up giving a rbg?
Sleger: Min: 324, max: 188012 – I have a number, 1000, and I want to know where between 0 and 100 it falls in that min/max range
Meluso: Guessx: if you know of one that does that, it may be a shortcut, sure
Mylar: Yea i made/modded one a while back
Roorda: I’m having a tiny issue with this being rebound by Array.map
Kaak: See http://jsbin.com/wejovifaki/1/edit?js,console 10 LoC
Mandel: I had to introduce a var thiz = this before using map, is there a better way ?
Schimming: Function min, max, needle { return needle/max – min*100; }324, 188012, 1000
Wakley: Schimming: number 0.5327991134222753
Riska: Python476: the second parameter to map is the this-context it will use
Riska: So you can do ctx.a.mapfunc, ctx
Azimi: Zomg: aight, gonna try
Cull: Timwis:http://jsfiddle.net/yr3kpu50/
Mcmahon: Schimming that’s perfect and quite clever. thank you