ZenjectProfileTest.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using NUnit.Framework;
  2. namespace Zenject.Tests.Other
  3. {
  4. [TestFixture]
  5. public class ZenjectProfileTest
  6. {
  7. class Test0
  8. {
  9. public void DoStuff()
  10. {
  11. }
  12. public void DoStuff1()
  13. {
  14. }
  15. }
  16. class Test1
  17. {
  18. [Inject]
  19. public Test0 TestB
  20. {
  21. set;
  22. get;
  23. }
  24. [Inject]
  25. public Test0 _testC = null;
  26. public Test1(Test0 test1, Test0 test2, Test0 test3, Test0 test4)
  27. {
  28. }
  29. public void DoStuff()
  30. {
  31. }
  32. public void DoStuff1()
  33. {
  34. }
  35. }
  36. class Test2
  37. {
  38. [Inject]
  39. public Test1 TestB
  40. {
  41. set;
  42. get;
  43. }
  44. [Inject]
  45. public Test1 _testC = null;
  46. public Test2(Test1 test1, Test1 test2, Test1 test3, Test1 test4)
  47. {
  48. }
  49. }
  50. [Test]
  51. // Test speed of resolve function
  52. public void Test()
  53. {
  54. //var container = new DiContainer();
  55. //container.Bind<Test0>().AsTransient();
  56. //container.Bind<Test1>().AsTransient();
  57. //container.Bind<Test2>().AsTransient();
  58. //var stopwatch = new Stopwatch();
  59. //stopwatch.Start();
  60. //for (int i = 0; i < 1000; i++)
  61. //{
  62. //var test0 = container.Resolve<Test2>();
  63. //var test1 = container.Resolve<Test2>();
  64. //var test2 = container.Resolve<Test2>();
  65. //}
  66. //stopwatch.Stop();
  67. //Log.InfoFormat("time = {0}", stopwatch.Elapsed.TotalSeconds);
  68. //Assert.That(false);
  69. }
  70. }
  71. }