public void WhenGetJobIsCalledWithANonExistingIdThenNullIsReturned()
        {
            var client = new AzureMediaServicesClient("myAccountName", "myAccountKey");

            using (ShimsContext.Create())
            {
                const string JobId = "nb:cid:UUID:8131a85d-5999-555c-a30f-468cb087701c";
                var          job   = new StubIJob()
                {
                    IdGet = () => "myId"
                };

                var jobs = new List <IJob> {
                    job
                };

                var collection = new ShimJobBaseCollection();

                collection.Bind(jobs.AsQueryable());

                ShimCloudMediaContext.ConstructorStringString = (context, accountName, accountKey) => { };
                ShimCloudMediaContext.AllInstances.JobsGet    = context => collection;

                var returnedJob = client.GetJob(JobId);

                Assert.IsNull(returnedJob);
            }
        }
        public void WhenGetJobIsCalledThenMediaServicesContextIsCreatedWithTheAccountProvided()
        {
            const string AccountName = "myAccount";
            const string AccountKey  = "myKey";

            var client = new AzureMediaServicesClient(AccountName, AccountKey);

            using (ShimsContext.Create())
            {
                string providedAccountName = null;
                string providedAccountKey  = null;

                var sampleJobs = new List <IJob>().AsQueryable();

                var collection = new ShimJobBaseCollection();
                collection.Bind(sampleJobs);

                ShimCloudMediaContext.ConstructorStringString = (context, accountName, accountKey) =>
                {
                    providedAccountName = accountName;
                    providedAccountKey  = accountKey;
                };

                ShimCloudMediaContext.AllInstances.JobsGet = context => collection;

                ShimQueryable.WhereOf1IQueryableOfM0ExpressionOfFuncOfM0Boolean <IJob>((jobs, predicate) => sampleJobs);

                client.GetJob("nb:cid:UUID:8131a85d-5999-555c-a30f-468cb087701c");

                Assert.AreEqual(AccountName, providedAccountName);
                Assert.AreEqual(AccountKey, providedAccountKey);
            }
        }
        public void WhenGetJobIsCalledWithANonExistingIdThenNullIsReturned()
        {
            var client = new AzureMediaServicesClient("myAccountName", "myAccountKey");

            using (ShimsContext.Create())
            {
                const string JobId = "nb:cid:UUID:8131a85d-5999-555c-a30f-468cb087701c";
                var job = new StubIJob() { IdGet = () => "myId" };

                var jobs = new List<IJob> { job };

                var collection = new ShimJobBaseCollection();

                collection.Bind(jobs.AsQueryable());

                ShimCloudMediaContext.ConstructorStringString = (context, accountName, accountKey) => { };
                ShimCloudMediaContext.AllInstances.JobsGet = context => collection;

                var returnedJob = client.GetJob(JobId);

                Assert.IsNull(returnedJob);
            }
        }
        public void WhenGetJobIsCalledThenMediaServicesContextIsCreatedWithTheAccountProvided()
        {
            const string AccountName = "myAccount";
            const string AccountKey = "myKey";

            var client = new AzureMediaServicesClient(AccountName, AccountKey);

            using (ShimsContext.Create())
            {
                string providedAccountName = null;
                string providedAccountKey = null;

                var sampleJobs = new List<IJob>().AsQueryable();

                var collection = new ShimJobBaseCollection();
                collection.Bind(sampleJobs);

                ShimCloudMediaContext.ConstructorStringString = (context, accountName, accountKey) =>
                {
                    providedAccountName = accountName;
                    providedAccountKey = accountKey;
                };

                ShimCloudMediaContext.AllInstances.JobsGet = context => collection;

                ShimQueryable.WhereOf1IQueryableOfM0ExpressionOfFuncOfM0Boolean<IJob>((jobs, predicate) => sampleJobs);

                client.GetJob("nb:cid:UUID:8131a85d-5999-555c-a30f-468cb087701c");

                Assert.AreEqual(AccountName, providedAccountName);
                Assert.AreEqual(AccountKey, providedAccountKey);
            }
        }