コード例 #1
0
            public void PrintIfUnread()
            {
                //Arrange
                DateTime     printifunreadafter = DateTime.Now.AddDays(3);
                PrintDetails printDetails       = new PrintDetails(
                    new PrintRecipient(
                        "Name",
                        new NorwegianAddress("0001", "Oslo", "Addr1", "Addr2", "Addr3")),
                    new PrintReturnRecipient(
                        "ReturnName",
                        new NorwegianAddress("0001", "OsloRet", "Addr1Ret", "Addr2Ret", "Addr3Ret")));

                var source        = new PrintIfUnread(printifunreadafter, printDetails);
                var sourceAddress = source.PrintDetails.PrintRecipient.Address;
                var returnAddress = source.PrintDetails.PrintReturnRecipient.Address;

                var expectedDtoPrintDetails = new printdetails
                {
                    recipient = new printrecipient
                    {
                        name = source.PrintDetails.PrintRecipient.Name,
                        Item = new norwegianaddress
                        {
                            zipcode      = ((NorwegianAddress)sourceAddress).PostalCode,
                            city         = ((NorwegianAddress)sourceAddress).City,
                            addressline1 = sourceAddress.AddressLine1,
                            addressline2 = sourceAddress.AddressLine2,
                            addressline3 = sourceAddress.AddressLine3
                        }
                    },
                    returnaddress = new printrecipient
                    {
                        name = source.PrintDetails.PrintReturnRecipient.Name,
                        Item = new norwegianaddress
                        {
                            zipcode      = ((NorwegianAddress)returnAddress).PostalCode,
                            city         = ((NorwegianAddress)returnAddress).City,
                            addressline1 = returnAddress.AddressLine1,
                            addressline2 = returnAddress.AddressLine2,
                            addressline3 = returnAddress.AddressLine3
                        }
                    }
                };

                var expectedDto = new printifunread
                {
                    printifunreadafter = printifunreadafter,
                    printdetails       = expectedDtoPrintDetails
                };

                //Act
                var actualDto = DataTransferObjectConverter.ToDataTransferObject(source);

                //Assert
                Comparator.AssertEqual(expectedDto, actualDto);

                Assert.Null(DataTransferObjectConverter.ToDataTransferObject((IPrintIfUnread)null));
            }
        public static printifunread ToDataTransferObject(IPrintIfUnread printIfUnread)
        {
            if (printIfUnread == null)
            {
                return(null);
            }

            var printIfUnreadDataTransferObject = new printifunread
            {
                printifunreadafter = printIfUnread.PrintIfUnreadAfter,
                printdetails       = ToDataTransferObject(printIfUnread.PrintDetails)
            };

            return(printIfUnreadDataTransferObject);
        }