public void OnFileUploadStarting()
        {
            // arrange
            var vm = new PaperclipsViewModel();

            var e = Mock.Create<FileUploadStartingEventArgs>(Behavior.CallOriginal);

            var uploadData = new RadUploadPostData
                {
                    FileName = "1#.txt"
                };

            Mock.Arrange(() => e.UploadData).Returns(uploadData);

            // act
            vm.OnFileUploadStarting(null, e);

            // assert
            Assert.AreEqual("1_.txt", e.UploadData.FileName);
        }
        public void OnFileUploaded()
        {
            // arrange
            var vm = new PaperclipsViewModel();

            var e = Mock.Create<FileUploadedEventArgs>(Behavior.CallOriginal);

            var fileInfo = Mock.Create<FileInfo>(Behavior.Loose, Constructor.Mocked);
            Mock.Arrange(() => fileInfo.Name).Returns("1#.txt");

            //var fileInfo = new FileInfo("1#.txt");
            var selectedFile = new RadUploadSelectedFile(fileInfo);

            Mock.Arrange(() => e.SelectedFile).Returns(selectedFile);

            var called = false;
            Mock.NonPublic.Arrange(vm, "HandleUploadedFile", new object[] { "1_.txt" }).DoInstead(() => called = true);

            // act
            vm.OnFileUploaded(null, e);

            // assert
            Assert.IsTrue(called);
        }