internal DocTypeProperty BuildProperty(IRecordsReader reader) { var p = new DocTypeProperty { Alias = reader.GetAlias(), Description = reader.GetDescription(), Id = reader.GetId(), Mandatory = reader.GetBoolean("Mandatory"), Name = reader.GetName(), RegularExpression = reader.GetString("RegularExpression"), ControlId = reader.GetGuid("ControlId") }; switch (reader.GetDbType()) { case "Date": p.DatabaseType = typeof(DateTime); break; case "Integer": p.DatabaseType = typeof(int); break; case "Ntext": case "Nvarchar": p.DatabaseType = typeof(string); break; default: p.DatabaseType = typeof(object); break; } return(p); }
public void LoadDocTypesTest_CreateDocType() { ISqlHelper fakeSql = Isolate.Fake.Instance <ISqlHelper>(Members.CallOriginal); IRecordsReader fakeReader = Isolate.Fake.Instance <IRecordsReader>(); var dtGuid = Guid.NewGuid(); //get the data for the DT Isolate.WhenCalled(() => fakeReader.HasRecords).WillReturn(true); Isolate.WhenCalled(() => fakeReader.Read()).WillReturn(true); Isolate.WhenCalled(() => fakeReader.Read()).CallOriginal(); Isolate.WhenCalled(() => fakeReader.GetId()).WillReturn(1); Isolate.WhenCalled(() => fakeReader.GetName()).WillReturn("Name"); Isolate.WhenCalled(() => fakeReader.GetDescription()).WillReturn("Description"); Isolate.WhenCalled(() => fakeReader.GetAlias()).WillReturn("Alias"); Isolate.WhenCalled(() => fakeReader.GetParentId()).WillReturn(-1); Isolate.WhenCalled(() => fakeSql.ExecuteReader(string.Empty)).WillReturn(fakeReader); DocTypeObjectBuilder target = new DocTypeObjectBuilder(string.Empty); Isolate.WhenCalled(() => target.SqlHelper).WillReturn(fakeSql); target.LoadDocTypes(); Assert.IsNotNull(target.DocumentTypes); Assert.AreEqual(target.DocumentTypes.Count, 1); Isolate.Verify.WasCalledWithExactArguments(() => target.BuildDocumentType(fakeReader)); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetAlias()); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetParentId()); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetDescription()); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetName()); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetId()); var dt = target.DocumentTypes[0]; Assert.AreEqual("Alias", dt.Alias); Assert.AreEqual("Description", dt.Description); Assert.AreEqual(1, dt.Id); Assert.AreEqual("Name", dt.Name); Assert.AreEqual(-1, dt.ParentId); Assert.AreEqual(0, dt.Properties.Count); }
internal DocType BuildDocumentType(IRecordsReader docTypes) { DocType newDocType = new DocType { Id = docTypes.GetId(), Alias = docTypes.GetAlias(), Description = docTypes.GetDescription(), Name = docTypes.GetName(), ParentId = docTypes.GetParentId(), }; newDocType.Properties = GetProperties(newDocType.Id); newDocType.Associations = BuildAssociations(newDocType.Id); return(newDocType); }
internal DocType BuildDocumentType(IRecordsReader docTypes) { DocType newDocType = new DocType { Id = docTypes.GetId(), Alias = docTypes.GetAlias(), Description = docTypes.GetDescription(), Name = docTypes.GetName(), ParentId = docTypes.GetParentId(), }; newDocType.Properties = GetProperties(newDocType.Id); newDocType.Associations = BuildAssociations(newDocType.Id); return newDocType; }
public void LoadDocTypesTest_DocTypeProperties() { ISqlHelper fakeSql = Isolate.Fake.Instance <ISqlHelper>(Members.ReturnRecursiveFakes); IRecordsReader fakeReader = Isolate.Fake.Instance <IRecordsReader>(); var dtGuid = Guid.NewGuid(); //get the data for the DT Isolate.WhenCalled(() => fakeReader.HasRecords).WillReturn(true); Isolate.WhenCalled(() => fakeReader.Read()).WillReturn(true); Isolate.WhenCalled(() => fakeSql.ExecuteReader(string.Empty)).WillReturn(fakeReader); Isolate.WhenCalled(() => fakeReader.GetId()).WillReturn(0); Isolate.WhenCalled(() => fakeReader.Read()).WillReturnRepeat(true, 4).AndThen().CallOriginal(); Isolate.WhenCalled(() => fakeReader.GetParentId()).WillReturn(-1); Isolate.WhenCalled(() => fakeReader.GetAlias()).WillReturn("Property1 Alias"); Isolate.WhenCalled(() => fakeReader.GetString("RegularExpression")).WillReturn(string.Empty); Isolate.WhenCalled(() => fakeReader.GetDbType()).WillReturn("Integer"); Isolate.WhenCalled(() => fakeReader.GetDescription()).WillReturn("Property1 Description"); Isolate.WhenCalled(() => fakeReader.GetId()).WillReturn(1); Isolate.WhenCalled(() => fakeReader.GetName()).WillReturn("Property1"); Isolate.WhenCalled(() => fakeReader.GetString("RegularExpression")).WillReturn(string.Empty); Isolate.WhenCalled(() => fakeReader.GetDbType()).WillReturn("Ntext"); Isolate.WhenCalled(() => fakeReader.GetString("RegularExpression")).WillReturn(string.Empty); Isolate.WhenCalled(() => fakeReader.GetDbType()).WillReturn("Nvarchar"); Isolate.WhenCalled(() => fakeReader.GetString("RegularExpression")).WillReturn(string.Empty); Isolate.WhenCalled(() => fakeReader.GetDbType()).WillReturn("Date"); DocTypeObjectBuilder target = new DocTypeObjectBuilder(string.Empty); Isolate.WhenCalled(() => target.SqlHelper).WillReturn(fakeSql); target.LoadDocTypes(); Isolate.Verify.WasCalledWithExactArguments(() => target.GetProperties(0)); Isolate.Verify.WasCalledWithExactArguments(() => target.BuildProperty(fakeReader)); Isolate.Verify.WasCalledWithAnyArguments(() => fakeSql.ExecuteReader(string.Empty)); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetAlias()); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetDbType()); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetDescription()); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetName()); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetString("RegularExpression")); Isolate.Verify.WasCalledWithExactArguments(() => fakeReader.GetId()); var dt = target.DocumentTypes[0]; Assert.IsNotNull(dt.Properties); Assert.AreEqual(4, dt.Properties.Count); Assert.AreEqual("Property1 Alias", dt.Properties[0].Alias); Assert.AreEqual(typeof(int), dt.Properties[0].DatabaseType); Assert.AreEqual("Property1 Description", dt.Properties[0].Description); Assert.AreEqual(1, dt.Properties[0].Id); Assert.AreEqual(false, dt.Properties[0].Mandatory); Assert.AreEqual("Property1", dt.Properties[0].Name); Assert.AreEqual(string.Empty, dt.Properties[0].RegularExpression); Assert.AreEqual(typeof(string), dt.Properties[1].DatabaseType); Assert.AreEqual(typeof(string), dt.Properties[2].DatabaseType); Assert.AreEqual(typeof(DateTime), dt.Properties[3].DatabaseType); }
internal DocTypeProperty BuildProperty(IRecordsReader reader) { var p = new DocTypeProperty { Alias = reader.GetAlias(), Description = reader.GetDescription(), Id = reader.GetId(), Mandatory = reader.GetBoolean("Mandatory"), Name = reader.GetName(), RegularExpression = reader.GetString("RegularExpression"), ControlId = reader.GetGuid("ControlId") }; switch (reader.GetDbType()) { case "Date": p.DatabaseType = typeof(DateTime); break; case "Integer": p.DatabaseType = typeof(int); break; case "Ntext": case "Nvarchar": p.DatabaseType = typeof(string); break; default: p.DatabaseType = typeof(object); break; } return p; }