public void ShredTest() { DataTable dt = GetTable(); string templateFilename = Path.GetTempFileName() + ".{0}.csv"; Analyze.Shred(dt, "last", templateFilename); string file1 = string.Format(templateFilename, "Smith"); string file2 = string.Format(templateFilename, "Jones"); Assert.True(File.Exists(file1)); Assert.True(File.Exists(file2)); string content1 = File.ReadAllText(file1); string content2 = File.ReadAllText(file2); File.Delete(file1); File.Delete(file2); AnalyzeTests.AssertEquals( @"first,last,age Bob,Smith,12 Ed,Smith,12 John,Smith,34 ", content1); AnalyzeTests.AssertEquals( @"first,last,age Bob,Jones,34 ", content2); }
public void ArrayToTable() { Point[] ps = new Point[] { new Point { x = 11, y = 12 }, new Point { x = 21, y = 22 }, new Point { x = 31, y = 32 } }; // Tests converting an array of structs into a table MutableDataTable dt = DataTable.New.FromEnumerable(ps); StringWriter sw = new StringWriter(); dt.SaveToStream(sw); AnalyzeTests.AssertEquals( @"x,y 11,12 21,22 31,32 ", sw.ToString()); }
public void KeepRows() { MutableDataTable dt = GetTable(); dt.KeepRows(row => row["last"] == "Jones"); AnalyzeTests.AssertEquals( @"first,last Fred,Jones ", dt); }
public void RemoveColumns() { MutableDataTable dt = GetTable(); dt.DeleteColumn(1); AnalyzeTests.AssertEquals( @"first Bob Fred ", dt); }
public void KeepColumnsRemove() { MutableDataTable dt = GetTable(); dt.KeepColumns("last"); AnalyzeTests.AssertEquals( @"last Smith Jones ", dt); }
public void DeleteColumns() { MutableDataTable dt = GetTable(); dt.DeleteColumns("first"); AnalyzeTests.AssertEquals( @"last Smith Jones ", dt); }
public void KeepColumnsReorder() { MutableDataTable dt = GetTable(); dt.KeepColumns("last", "first"); AnalyzeTests.AssertEquals( @"last,first Smith,Bob Jones,Fred ", dt); }
public void RenameSame() { MutableDataTable dt = GetTable(); dt.RenameColumn("first", "first"); AnalyzeTests.AssertEquals( @"first,last Bob,Smith Fred,Jones ", dt); }
public void ApplyToColumn() { MutableDataTable dt = GetTable(); dt.ApplyToColumn("first", value => value.ToUpper()); AnalyzeTests.AssertEquals( @"first,last BOB,Smith FRED,Jones ", dt); }
public void CreateColumn() { MutableDataTable dt = GetTable(); dt.CreateColumn("fullname", row => row["first"] + "_" + row["last"]); AnalyzeTests.AssertEquals( @"first,last,fullname Bob,Smith,Bob_Smith Fred,Jones,Fred_Jones ", dt); }
public void Reorder() { MutableDataTable dt = GetTable(); dt.ReorderColumn("first", 1); AnalyzeTests.AssertEquals( @"last,first Smith,Bob Jones,Fred ", dt); }
public void KeepColumnsDoNotThrow() { MutableDataTable dt = GetTable(); dt.KeepColumns(false, "last", "first", "made up column name"); AnalyzeTests.AssertEquals( @"last,first Smith,Bob Jones,Fred ", dt); }
public void RenameMissing() { MutableDataTable dt = GetTable(); dt.RenameColumn("missing", "FName", throwOnMissing: false); // No change AnalyzeTests.AssertEquals( @"first,last Bob,Smith Fred,Jones ", dt); }
public void CreateColumnFromMerging() { MutableDataTable dt = GetTable(); Column c = dt.CreateColumnFromMerging("fullname", "first", "last"); Assert.Equal("fullname", c.Name); AnalyzeTests.AssertEquals( @"first,last,fullname Bob,Smith,Bob Smith Fred,Jones,Fred Jones ", dt); }
public void TableFromLinqExpressionWithAnonymousType() { var x = from i in Enumerable.Range(1, 5) select new { N = i, NSquared = i * i }; var dt = DataTable.New.FromEnumerable(x); AnalyzeTests.AssertEquals( @"N,NSquared 1,1 2,4 3,9 4,16 5,25 ", dt); }
public void ToMutable() { var x = from i in Enumerable.Range(1, 5) select new { N = i, NSquared = i * i }; DataTable dt = DataTable.New.FromEnumerable(x); MutableDataTable dt2 = DataTable.New.GetMutableCopy(dt); AnalyzeTests.AssertEquals( @"N,NSquared 1,1 2,4 3,9 4,16 5,25 ", dt2); }
private void TestDelimeter(char ch) { string content = @"first{0}last Bob{0}Smith"; content = string.Format(content, ch); TextReader tr = new StringReader(content); MutableDataTable dt = DataTable.New.Read(tr, ch); AnalyzeTests.AssertEquals( @"first,last Bob,Smith ", dt); }
public void CreateColumn2WithNull() { MutableDataTable dt = GetTable(); dt.CreateColumns <TestRow>(row => new { fullname = row.last + "_" + row.first, len = row.first.Length }); AnalyzeTests.AssertEquals( @"first,last,fullname,len Bob,Smith,Smith_Bob,3 Fred,Jones,Jones_Fred,4 ", dt); }
public void SaveToCSV() { var dt = DataTable.New.FromEnumerable(new int[] { 10, 20, 30, 40, 50 }); string temp = Path.GetTempFileName() + ".csv"; dt.SaveCSV(temp); string content = File.ReadAllText(temp); AnalyzeTests.AssertEquals( @"value 10 20 30 40 50 ", content); File.Delete(temp); }
public void LazyEnumerable() { //var dt = DataTable.New.FromEnumerableLazy(TestEnumerable()); var dt = DataTable.New.FromEnumerableLazy(TestEnumerable()); // Test using the row object to lookup var y = from row in dt.Rows let i = int.Parse(row["value"]) select i; // Just taking the first element should succeed since we read lazily. // If we accidentally read the whole enumeration, we'd fail. Assert.Equal(1, y.First()); // Verify that we can read it a second time. var sample = Analyze.SampleTopN(dt, 1); AnalyzeTests.AssertEquals( @"value 1 ", sample); }