protected static PropValue InitQ(TestAccessLayer layer, PropertyInfo prop) { return(new PropValue() { Value = prop.PropertyType.IsValueType ? Activator.CreateInstance(prop.PropertyType) : null }); }
public void HandlerTest() { ITestLayer layer = TestAccessLayer.Create <ITestLayer>(); TestAccessLayer tal = layer as TestAccessLayer; Assert.IsNotNull(tal); // A tests layer.A(); layer.A(42); layer.A("A", "B", "C"); // B tests Assert.AreEqual(42, layer.B(42)); Assert.AreEqual(DayOfWeek.Wednesday.ToString(), layer.B(DayOfWeek.Wednesday)); Assert.AreEqual(Guid.Empty.ToString(), layer.B(Guid.Empty)); Assert.AreEqual("B", layer.B("B")); // C tests Assert.AreEqual(0, layer.C()); Assert.AreEqual(4, layer.C(1, 2)); Assert.AreEqual(4, layer.C(1)); // P tests Assert.AreEqual(0, layer.P1); layer.P1 = 42; Assert.AreEqual(42, layer.P1); Assert.IsNull(layer.P2); layer.P2 = "42"; Assert.AreEqual("42", layer.P2); Assert.IsNull(layer.P3); layer.P3 = Guid.Empty; Assert.AreEqual(Guid.Empty, layer.P3); // Q tests Assert.AreEqual(0, layer.Q); layer.Q = 21; Assert.AreEqual(21, layer.Q); // Backing field tests with get inspector Assert.IsNull(tal.LastGetProperty); Assert.IsNull(layer.R); Assert.IsNotNull(tal.LastGetProperty); Assert.AreEqual("R", tal.LastGetProperty.Item1.Name); layer.R = Guid.Empty; Assert.AreEqual(Guid.Empty, layer.R); Assert.AreEqual(0, layer.R2); layer.R3 = 42; Assert.IsNull(layer.R4); layer.R4 = "42"; Assert.AreEqual("42", layer.R4); Assert.AreEqual("R4", tal.LastGetProperty.Item1.Name); Assert.AreEqual("42", tal.LastGetProperty.Item2); Assert.IsFalse(layer.IsDisposed); layer.Dispose(); Assert.IsTrue(layer.IsDisposed); }
protected static object ExecB(TestAccessLayer layer, MethodInfo state, object[] parameters) { if (state.ReturnType == typeof(string)) { return(parameters[0].ToString()); } return(parameters[0]); }
protected static T GetQ <T>(TestAccessLayer layer, PropValue state) { return((T)state.Value); }
protected static void SetQ <T>(TestAccessLayer layer, PropValue state, T value) { state.Value = value; }
protected static object GetP(TestAccessLayer layer, PropValue state) { return(state.Value); }
protected static void SetP(TestAccessLayer layer, PropValue state, object value) { state.Value = value; }
protected static MethodInfo InitB(TestAccessLayer layer, MethodInfo m) { return(m); }
protected static object ExecA(TestAccessLayer layer, object state, object[] parameters) { return(null); }
protected static object InitA(TestAccessLayer layer, MethodInfo m) { return(null); }
protected static void GenericGetInspector <T>(TestAccessLayer layer, PropertyInfo property, T value) { Assert.AreEqual(typeof(T), property.PropertyType); }
public static void GetInspector(TestAccessLayer layer, PropertyInfo property, object value) { layer.LastGetProperty = Tuple.Create(property, value); }