public void Works_for_two_variables_and_3_2_values() { var vm = new MultipleVariableManager<Foo2>(new FooValues()); var e = vm.GetEnumerator(); IsTrue(e.MoveNext()); AreEqual("a", e.Current.X); AreEqual(1, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("a", e.Current.X); AreEqual(2, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("b", e.Current.X); AreEqual(1, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("b", e.Current.X); AreEqual(2, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("c", e.Current.X); AreEqual(1, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("c", e.Current.X); AreEqual(2, e.Current.Y); IsFalse(e.MoveNext()); }
public void Works_for_two_variables_and_3_2_values_provided_in_anonymous_object() { var vm = new MultipleVariableManager<Foo2>(new { X = new[] { "a", "b", "c" }, Y = new[] { 1, 2 } }); var e = vm.GetEnumerator(); IsTrue(e.MoveNext()); AreEqual("a", e.Current.X); AreEqual(1, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("a", e.Current.X); AreEqual(2, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("b", e.Current.X); AreEqual(1, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("b", e.Current.X); AreEqual(2, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("c", e.Current.X); AreEqual(1, e.Current.Y); IsTrue(e.MoveNext()); AreEqual("c", e.Current.X); AreEqual(2, e.Current.Y); IsFalse(e.MoveNext()); }
public void Works_for_zero_variables() { var vm = new MultipleVariableManager<Foo0>(new { }); var e = vm.GetEnumerator(); IsFalse(e.MoveNext()); }
public void Works_for_one_variable_and_3_values_where_one_of_them_is_null() { var vm = new MultipleVariableManager<Foo1>(new { X = new[] { "a", null, "c" } }); var e = vm.GetEnumerator(); IsTrue(e.MoveNext()); AreEqual("a", e.Current.X); IsTrue(e.MoveNext()); AreEqual(null, e.Current.X); IsTrue(e.MoveNext()); AreEqual("c", e.Current.X); IsFalse(e.MoveNext()); }
public void Works_for_empty_multiple_possible_values() { var vm = new MultipleVariableManager<Foo1>(new { X = new string[] { } }); var e = vm.GetEnumerator(); IsFalse(e.MoveNext()); }
public void Works_for_multiple_possible_values() { var vm = new MultipleVariableManager<Foo1>(new { X = new[] { "a" } }); var e = vm.GetEnumerator(); IsTrue(e.MoveNext()); AreEqual("a", e.Current.X); IsFalse(e.MoveNext()); }
public void Works_for_single_possible_value_which_is_null() { var vm = new MultipleVariableManager<Foo1>(new { X = (string)null }); var e = vm.GetEnumerator(); IsTrue(e.MoveNext()); IsNull(e.Current.X); IsFalse(e.MoveNext()); }
public void Works_when_there_are_more_properties_than_required_for_holding_possible_values() { var vm = new MultipleVariableManager<Foo1>(new { X = new[] { "a" }, Y = new[] { 1 }, Z = new[] { 1L } }); var e = vm.GetEnumerator(); IsTrue(e.MoveNext()); AreEqual("a", e.Current.X); IsFalse(e.MoveNext()); }
public void Works_when_possible_values_are_null_but_variables_are_empty() { var vm = new MultipleVariableManager<Foo0>(null); var e = vm.GetEnumerator(); IsFalse(e.MoveNext()); }