/src/Otis.Tests/CollectionMappingTest.cs

http://otis-lib.googlecode.com/ · C# · 62 lines · 50 code · 8 blank · 4 comment · 0 complexity · f5d1d88601a066f5bdb9eeba901e2d4e MD5 · raw file

  1. /*
  2. * Created by: Zdeslav Vojkovic
  3. * Created: Friday, October 26, 2007
  4. */
  5. using System;
  6. using System.Collections.Generic;
  7. using NUnit.Framework;
  8. using Otis.Tests.Entity;
  9. namespace Otis.Tests
  10. {
  11. [TestFixture]
  12. public class CollectionMappingTest
  13. {
  14. private IAssembler<AttributedUserDTO, User> m_assembler;
  15. private List<User> m_source;
  16. [SetUp]
  17. public void SetUp()
  18. {
  19. Configuration cfg = new Configuration();
  20. cfg.AddType(typeof(AttributedUserDTO));
  21. m_assembler = cfg.GetAssembler<AttributedUserDTO, User>();
  22. m_source = new List<User>(3);
  23. m_source.Add(new User());
  24. m_source[0].FirstName = "Zdeslav";
  25. m_source[0].LastName = "Vojkovic";
  26. m_source[0].Age = 33;
  27. m_source[0].Id = 1;
  28. m_source[0].UserName = "zdeslavv";
  29. m_source.Add(Helpers.CreateComplexUser());
  30. m_source.Add(m_source[1].Boss);
  31. }
  32. [TearDown]
  33. public void TearDown() {}
  34. [Test]
  35. public void Enumerable_Can_Convert_To_Array()
  36. {
  37. AttributedUserDTO[] dtos = m_assembler.ToArray(m_source);
  38. Assert.AreEqual(m_source[0].FirstName + " " + m_source[0].LastName, dtos[0].FullName);
  39. Assert.AreEqual(m_source[1].FirstName + " " + m_source[1].LastName, dtos[1].FullName);
  40. Assert.AreEqual(m_source[2].FirstName + " " + m_source[2].LastName, dtos[2].FullName);
  41. }
  42. [Test]
  43. public void Enumerable_Can_Convert_To_Collection()
  44. {
  45. ICollection<AttributedUserDTO> dtos = m_assembler.ToList(m_source);
  46. int i = 0;
  47. foreach (AttributedUserDTO dto in dtos)
  48. {
  49. Assert.AreEqual(m_source[i].FirstName + " " + m_source[i].LastName, dto.FullName);
  50. i++;
  51. }
  52. }
  53. }
  54. }