public void Should_create_line_with_all_properties_witho_one_full_specification() { var expected = new object[] { "PartnerPartNumber", new object[] { new object[] { SpecificationType.Full, "Label", "Value", "UnitOfMeasure", "Id", "GroupId", "GroupName" } } }; var specifications = new Specifications { PartnerPartNumber = (string)expected[(int)CasSpecificationsColumnEnum.PartnerPartNumber], Items = ((object[])expected[(int)CasSpecificationsColumnEnum.Items]) .Select(x => { var option = (object[])x; return(new Specification { Type = (SpecificationType)option[(int)CasSpecificationColumnEnum.Type], Label = (string)option[(int)CasSpecificationColumnEnum.Label], Value = (string)option[(int)CasSpecificationColumnEnum.Value], UnitOfMeasure = (string)option[(int)CasSpecificationColumnEnum.UnitOfMeasure], Id = (string)option[(int)CasSpecificationColumnEnum.Id], GroupId = (string)option[(int)CasSpecificationColumnEnum.GroupId], GroupName = (string)option[(int)CasSpecificationColumnEnum.GroupName] }); }) .ToList() }; var writer = new CsvSpecificationsGenerator( new DefaultObjectPool <StringBuilder>(new StringBuilderPooledObjectPolicy())); writer.TryGenerateLine(specifications, out var data); data.Should().Be($"{string.Join("\t", expected.Select(x => x.ToDebugString()))}{Environment.NewLine}"); }
public void Should_create_line_with_all_properties_null() { var specifications = new Specifications { PartnerPartNumber = "0" }; var writer = new CsvSpecificationsGenerator( new DefaultObjectPool <StringBuilder>(new StringBuilderPooledObjectPolicy())); writer.TryGenerateLine(specifications, out var data).Should().BeFalse(); data.Should().BeNull(); }
public void Should_skip_line_with_all_properties_without_options() { var expected = new object[] { "PartnerPartNumber", null }; var specifications = new Specifications { PartnerPartNumber = (string)expected[(int)CasSpecificationsColumnEnum.PartnerPartNumber], Items = (List <Specification>)expected[(int)CasSpecificationsColumnEnum.Items] }; var writer = new CsvSpecificationsGenerator( new DefaultObjectPool <StringBuilder>(new StringBuilderPooledObjectPolicy())); writer.TryGenerateLine(specifications, out var data).Should().BeFalse(); data.Should().BeNull(); }