public void TestThatClassLevelHasStudents() { var nameProp = _entity.Lists.Single().Lists.Single(); Assert.IsTrue(nameProp.Name == "Students"); Assert.IsNotNull(LinkedFieldInfo.CheckForIEnumerable(nameProp.FieldInfo.FieldType)); }
public void BasicTestOfAllAggregationTypes() { var x = new Nisse { List1 = new List <int> { 5, 6, 7 }, List2 = new List <int> { 7, 15, 18, 20 }, }; var export = new DataExtract <Nisse>(_spec); export.Run(x); var t = export.TableManager.GetWithAllData().First(); CollectionAssert.AreEqual(new object[] { 5 + 6, 15 + 18 + 20, 5 + 6, 15 + 18 + 20, 6, 20, 5, 15, LinkedFieldInfo.CoherseType(typeof(int), (5 + 6) / 2.0), LinkedFieldInfo.CoherseType(typeof(int), (15 + 18 + 20) / 3.0), 2, 3 }, t.Rows.Single().Columns); }
public void TestThatAtNameReturnsTheObjectItself2() { var lfi = new LinkedFieldInfo(typeof(List <int>), "@"); var x = typeof(List <int>); Assert.IsTrue(ReferenceEquals(x, lfi.GetValue(x))); Assert.AreEqual(typeof(IEnumerable <int>), lfi.IEnumerable); Assert.AreEqual(typeof(List <int>), lfi.FieldType); }
public void TestThatAtNameReturnsTheObjectItself() { var lfi = new LinkedFieldInfo(typeof(TestClassData), "@"); var x = new TestClassData(); Assert.IsTrue(ReferenceEquals(x, lfi.GetValue(x))); Assert.IsNull(lfi.IEnumerable); Assert.AreEqual(typeof(TestClassData), lfi.FieldType); }
public void Performance() { var tc = new TestClassData(); var lfi1 = new LinkedFieldInfo(tc.GetType(), "D"); for (var i = 0; i < 10; i++) { var d = 0.0; var sw = Stopwatch.StartNew(); for (var j = 0; j < 1000000; j++) { d += (double)lfi1.GetValue(tc); } Console.Write(sw.ElapsedMilliseconds + " "); sw.Restart(); for (var j = 0; j < 1000000; j++) { d += (double)lfi1.GetValueSlower(tc); } Console.WriteLine(sw.ElapsedMilliseconds.ToString()); Console.WriteLine(); } }