public int InsertRandValues(string tableName)
        {
            Table  t    = DataLoader.DataScheme[tableName];
            string data = "";
            int    i    = 0;
            int    id   = 0;

            foreach (DataTypes.DataType d in t.Columns)
            {
                DateTime date = new DateTime(1970, 1, 1);
                if (d.Value == "DATE")
                {
                    date = DataLoader.GetLastDate(tableName, d.Name);
                }
                if (t.Relations.ContainsKey(d.Name))
                {
                    if (DataLoader.DataScheme[t.Relations[d.Name]].FreeIDs.Count != 0)
                    {
                        int freeID = DataLoader.DataScheme[t.Relations[d.Name]].FreeIDs[DataGenerator.GetRandNumber(0,
                                                                                                                    DataLoader.DataScheme[t.Relations[d.Name]].FreeIDs.Count)];
                        DataLoader.DataScheme[t.Relations[d.Name]].FreeIDs.Remove(freeID);
                        data += freeID;
                    }
                    else
                    {
                        data += InsertRandValues(t.Relations[d.Name]).ToString();
                    }
                }
                else
                {
                    if (i == t.Columns.Count - 1)
                    {
                        data += DataGenerator.GenerateRandData(d.Value, date);
                    }
                    else if (i == 0)
                    {
                        id = GetLastID(tableName);
                        id++;
                        data += id.ToString();
                    }
                    else
                    {
                        data += DataGenerator.GenerateRandData(d.Value, date);
                    }
                }
                if (i != t.Columns.Count - 1)
                {
                    data += ",";
                }
                i++;
            }
            string s = DataInserter.InsertData(data, tableName);

            Console.WriteLine(s);
            _fileManager.AddLine(s);
            return(id);
        }
示例#2
0
        public void AddLine_ValidArgumentsForCommaDelimiter_LineAdded()
        {
            // arrange
            string newLine = "Smiths,Chris,M,Red,02/09/1991";

            //act
            FileManager.AddLine(newLine);

            var actual = FileManager.FileContentList.Count;

            Assert.AreEqual(1, actual, "New line  was not added correctly for comma delimited file");
        }
示例#3
0
        public void AddLine_InvalidBirthday_ExceptionThrown()
        {
            string newLine = "Smiths|Chris|M|Red|02/091991";

            FileManager.AddLine(newLine);
        }
示例#4
0
        public void AddLine_InvalidDelimiter_ExceptionThrown()
        {
            string newLine = "SmithsQChrisQMQRedQ02/09/1991";

            FileManager.AddLine(newLine);
        }
示例#5
0
 public void SaveAsXML(string tableName)
 {
     _fileManager.AddLine(DataToXML(DataLoader.LoadDataByTable(tableName), tableName));
     _fileManager.SaveAsXMLFile(tableName);
 }