Hah, I breadboarded one just the other day, to test a resonant circuit. Half bridge into series resonant tank, returned to ground through a cap divider. The supply bypass and C divider are all 1000uF 25V caps (supply is 12V) and the half bridge is a IR2101 into a pair of IRFZ34N, plus an inverter to complement the high side drive, and a pair of RCD networks to skew the rising edges (setting dead time). Signal source from the function generator -- about as simple as could be.
Driving an inductor in bursts, I've got peaks up to 25A, not too shabby for breadboard work. (Measured with a current transformer, of course.) The transistors aren't too happy up there, and neither are the capacitors; I started with the divider being a pair of middling 220uF 50V types, which got rather hot, rather quickly, their ESR also limiting my output current. So, I moved to the larger, low ESR types. Down at a more modest 5-10A RMS, everything is cool enough for continuous operation.
Anyway, the resonant tank is a good way to get nearly sinusoidal current. The Q isn't very high for the inductor I'm testing, so the peak isn't very sharp, easy enough to track by hand. To design something general-ish in purpose, you'll need to start with a range of ESRs, with the worst case minimum setting how much base ESR your circuit needs (to limit maximum Q and current) and the maximum setting what resonant impedance (Zr = sqrt(L/C)) you need, and whether you'll need multiple L and C to select from, to cover that range, given available supply voltage and whatnot.
In the other tests above, triangular or square current isn't a bad thing, by itself. ESR should be relatively insensitive to harmonics, as far as I know, and the RMS value of all harmonics in a square wave only amounts to, what was it, 18% of the total? And of a triangle, even less.
Tim