// Path: lib/src/org/thebends/synth/FixedParameter.java
// public final class FixedParameter implements Parameter {
//     private final double mValue;
// 
//     public FixedParameter(double value) {
//         this.mValue = value;
//     }
// 
//     /**
//      * @return a Parameter that always returns the specified value.
//      */
//     public static Parameter get(double value) {
//         return new FixedParameter(value);
//     }
// 
//     @Override
//     public double getValue() {
//         return mValue;
//     }
// }
// 
// Path: lib/src/org/thebends/synth/LFO.java
// public class LFO implements Parameter {
//     private Parameter mLevel;
//     private Parameter mOscillator;
// 
//     public LFO() {
//         this(null, null);
//     }
// 
//     public LFO(Parameter oscillator, Parameter level) {
//         mOscillator = oscillator;
//         mLevel = level;
//     }
// 
//     public void setLevel(Parameter level) {
//         mLevel = level;
//     }
// 
//     public void setOscillator(Parameter oscillator) {
//         mOscillator = oscillator;
//     }
// 
//     @Override
//     public double getValue() {
//         double m = 0.5 * mLevel.getValue();
//         double b = 1.0 - m;
//         return m * mOscillator.getValue() + b;
//     }
// }
// 
// Path: lib/src/org/thebends/synth/MutableParameter.java
// public class MutableParameter implements Parameter {
//     private double mValue;
// 
//     public MutableParameter() {
//         this(0.0);
//     }
// 
//     public MutableParameter(double value) {
//         mValue = value;
//     }
// 
//     public void setValue(double value) {
//         this.mValue = value;
//     } 
// 
//     @Override
//     public double getValue() {
//         return mValue;
//     }
// }


import org.thebends.synth.FixedParameter;
import org.thebends.synth.LFO;
import org.thebends.synth.MutableParameter;
import junit.framework.TestCase;
/*
 * Copyright 2013 Daisuke Fuji <daisuke@indigo-lab.com>
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.thebends.synth.test;



public class LFOTest extends TestCase {
    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void testNoLevel() {
        FixedParameter osc = new FixedParameter(0.2);
        FixedParameter level = new FixedParameter(0.0);
        LFO mod = new LFO();
// Path: lib/src/org/thebends/synth/FixedParameter.java
// public final class FixedParameter implements Parameter {
//     private final double mValue;
// 
//     public FixedParameter(double value) {
//         this.mValue = value;
//     }
// 
//     /**
//      * @return a Parameter that always returns the specified value.
//      */
//     public static Parameter get(double value) {
//         return new FixedParameter(value);
//     }
// 
//     @Override
//     public double getValue() {
//         return mValue;
//     }
// }
// 
// Path: lib/src/org/thebends/synth/LFO.java
// public class LFO implements Parameter {
//     private Parameter mLevel;
//     private Parameter mOscillator;
// 
//     public LFO() {
//         this(null, null);
//     }
// 
//     public LFO(Parameter oscillator, Parameter level) {
//         mOscillator = oscillator;
//         mLevel = level;
//     }
// 
//     public void setLevel(Parameter level) {
//         mLevel = level;
//     }
// 
//     public void setOscillator(Parameter oscillator) {
//         mOscillator = oscillator;
//     }
// 
//     @Override
//     public double getValue() {
//         double m = 0.5 * mLevel.getValue();
//         double b = 1.0 - m;
//         return m * mOscillator.getValue() + b;
//     }
// }
// 
// Path: lib/src/org/thebends/synth/MutableParameter.java
// public class MutableParameter implements Parameter {
//     private double mValue;
// 
//     public MutableParameter() {
//         this(0.0);
//     }
// 
//     public MutableParameter(double value) {
//         mValue = value;
//     }
// 
//     public void setValue(double value) {
//         this.mValue = value;
//     } 
// 
//     @Override
//     public double getValue() {
//         return mValue;
//     }
// }


// Path: test/src/org/thebends/synth/test/LFOTest.java
import org.thebends.synth.FixedParameter;
import org.thebends.synth.LFO;
import org.thebends.synth.MutableParameter;
import junit.framework.TestCase;

/*
 * Copyright 2013 Daisuke Fuji <daisuke@indigo-lab.com>
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.thebends.synth.test;



public class LFOTest extends TestCase {
    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void testNoLevel() {
        FixedParameter osc = new FixedParameter(0.2);
        FixedParameter level = new FixedParameter(0.0);
        LFO mod = new LFO();
        mod.setOscillator(osc);