public void Works_for_3_dynamic_values()
 {
     var vm = new SingleVariableManager<Foo1Dynamic>("a", 1, 2.3);
     var e = vm.GetEnumerator();
     IsTrue(e.MoveNext());
     AreEqual("a", e.Current.X);
     IsTrue(e.MoveNext());
     AreEqual(1, e.Current.X);
     IsTrue(e.MoveNext());
     AreEqual(2.3, e.Current.X);
     IsFalse(e.MoveNext());
 }
 public void Enters_into_loop_two_times_when_possible_values_count_equals_two()
 {
     var vm = new SingleVariableManager<Foo1>("a", "b");
     var e = vm.GetEnumerator();
     IsTrue(e.MoveNext());
     IsTrue(e.MoveNext());
     IsFalse(e.MoveNext());
 }
 public void Works_for_3_values()
 {
     var vm = new SingleVariableManager<Foo1>("a", "b", "c");
     var e = vm.GetEnumerator();
     IsTrue(e.MoveNext());
     AreEqual("a", e.Current.X);
     IsTrue(e.MoveNext());
     AreEqual("b", e.Current.X);
     IsTrue(e.MoveNext());
     AreEqual("c", e.Current.X);
     IsFalse(e.MoveNext());
 }
 public void Doesnt_enter_into_loop_when_there_are_no_possible_values()
 {
     var vm = new SingleVariableManager<Foo1>();
     var e = vm.GetEnumerator();
     IsFalse(e.MoveNext());
 }