public void Init()
        {
            FacebookLogger.Instance = new FacebookTestLogger();
            Type type            = this.GetType();
            var  callbackManager = new CallbackManager();

            if (Attribute.GetCustomAttribute(type, typeof(AndroidTestAttribute)) != null)
            {
                var mockWrapper = new MockAndroid();
                Constants.CurrentPlatform = FacebookUnityPlatform.Android;
                var facebook = new AndroidFacebook(mockWrapper, callbackManager);
                this.Mock          = mockWrapper;
                this.Mock.Facebook = facebook;
                FB.FacebookImpl    = facebook;
            }
            else if (Attribute.GetCustomAttribute(type, typeof(IOSTestAttribute)) != null)
            {
                var mockWrapper = new MockIOS();
                Constants.CurrentPlatform = FacebookUnityPlatform.IOS;
                var facebook = new IOSFacebook(mockWrapper, callbackManager);
                this.Mock          = mockWrapper;
                this.Mock.Facebook = facebook;
                FB.FacebookImpl    = facebook;
            }
            else if (Attribute.GetCustomAttribute(type, typeof(GameroomTestAttribute)) != null)
            {
                var mockWrapper = new MockGameroom();
                Constants.CurrentPlatform = FacebookUnityPlatform.Gameroom;
                var facebook = new GameroomFacebook(mockWrapper, callbackManager);
                this.Mock          = mockWrapper;
                this.Mock.Facebook = facebook;
                FB.FacebookImpl    = facebook;
            }
            else if (Attribute.GetCustomAttribute(type, typeof(CanvasTestAttribute)) != null)
            {
                var mockWrapper = new MockCanvas();
                Constants.CurrentPlatform = FacebookUnityPlatform.WebGL;
                var facebook = new CanvasFacebook(mockWrapper, callbackManager);
                this.Mock          = mockWrapper;
                this.Mock.Facebook = facebook;
                FB.FacebookImpl    = facebook;
            }
            else if (Attribute.GetCustomAttribute(type, typeof(EditorTestAttribute)) != null)
            {
                var mockWrapper = new MockEditor();

                // The editor works for all platforms but claim to be android for testing.
                Constants.CurrentPlatform = FacebookUnityPlatform.Android;
                var facebook = new EditorFacebook(mockWrapper, callbackManager);
                this.Mock          = mockWrapper;
                this.Mock.Facebook = facebook;
                FB.FacebookImpl    = facebook;
            }
            else
            {
                throw new Exception("Failed to specify platform specified on test class");
            }

            this.OnInit();
        }
Esempio n. 2
0
        public void Init()
        {
            FacebookLogger.Instance = new FacebookTestLogger();
            Type type = this.GetType();

            if (Attribute.GetCustomAttribute(type, typeof(AndroidTestAttribute)) != null)
            {
                var callbackManager = new CallbackManager();
                var mockWrapper     = new MockAndroid();
                Constants.CurrentPlatform = FacebookUnityPlatform.Android;
                var facebook = new AndroidFacebook(mockWrapper, callbackManager);
                this.Mock          = mockWrapper;
                this.Mock.Facebook = facebook;
                FB.FacebookImpl    = facebook;
            }
            else if (Attribute.GetCustomAttribute(type, typeof(IOSTestAttribute)) != null)
            {
                var callbackManager = new CallbackManager();
                var mockWrapper     = new MockIOS();
                Constants.CurrentPlatform = FacebookUnityPlatform.IOS;
                var facebook = new IOSFacebook(mockWrapper, callbackManager);
                this.Mock          = mockWrapper;
                this.Mock.Facebook = facebook;
                FB.FacebookImpl    = facebook;
            }
            else if (Attribute.GetCustomAttribute(type, typeof(CanvasTestAttribute)) != null)
            {
                var callbackManager = new CallbackManager();
                var mockWrapper     = new MockCanvas();
                Constants.CurrentPlatform = FacebookUnityPlatform.WebGL;
                var facebook = new CanvasFacebook(mockWrapper, callbackManager);
                this.Mock          = mockWrapper;
                this.Mock.Facebook = facebook;
                FB.FacebookImpl    = facebook;
            }
            else
            {
                throw new Exception("No platform specified on test class");
            }

            this.OnInit();
        }