public void Result_is_updated_after_Insert() { var subject = new ObservableCollection<int>(new [] { 10, 11, 12, 11, 12, 10, 12, 17 }); var result = subject.ToQueryable().Distinct().ToObservable(); var eventList = new List<NotifyCollectionChangedEventArgs>(); result.CollectionChanged += (s, e) => eventList.Add(e); Assert.IsInstanceOfType(result, typeof(IQueryableObservableCollection<int>)); subject.Insert(2, 10); EnumerableAssert.AreEqual(result, 10, 11, 12, 17); Assert.AreEqual(0, eventList.Count); subject.Insert(1, 11); EnumerableAssert.AreEqual(result, 10, 11, 12, 17); Assert.AreEqual(0, eventList.Count); subject.Insert(1, 12); EnumerableAssert.AreEqual(result, 10, 12, 11, 17); Assert.AreEqual(1, eventList.Count); Assert.AreEqual(NotifyCollectionChangedAction.Move, eventList.Last().Action); subject.Insert(0, 17); EnumerableAssert.AreEqual(result, 17, 10, 12, 11); Assert.AreEqual(2, eventList.Count); Assert.AreEqual(NotifyCollectionChangedAction.Move, eventList.Last().Action); }
public void Can_Add_Order_Via_Controller() { //ARRANGE List<Order> orders = new List<Order>(); Mock<IOrderRepository> mockOrder = new Mock<IOrderRepository>(); mockOrder.Setup(m => m.AddOrder(It.IsAny<Order>())).Returns((Order order) => { if (orders.LastOrDefault() == null) { order.OrderID = 1; } else { order.OrderID = orders.Last().OrderID + 1; } orders.Add(order); return true; }); mockOrder.Setup(m => m.GetOrder(It.IsAny<int>())).Returns((int id) => { return orders.Where(o => o.OrderID == id).FirstOrDefault(); }); OrderController target = new OrderController(mockOrder.Object); //ACT target.Index(new Order { Address = "lalala st.", Name = "lala", OrderDate = DateTime.Now }); target.Index(new Order { Address = "dadada st.", Name = "dada", OrderDate = DateTime.Now }); //ASSERT Assert.IsNotNull(orders.Last()); Assert.AreEqual(orders.Last().Name, "dada"); Assert.AreEqual(orders.Last().OrderID, orders.First().OrderID + 1); }
public void VerifyTerminalVelocityReached() { List<double> velocities = new List<double> { 0 }; const int MAX_ITER = 10000; while (velocities.Count < MAX_ITER) velocities.Add(VelocitySimulation.CalculateNewVelocity(velocities.Last())); Assert.IsTrue(Math.Abs(velocities.Skip(MAX_ITER - 100).Take(100).Average() - velocities.Last()) < 0.001); }
public void GenericComparerAsIComparer() { List<int> ints = new List<int>(new[] { 10, 5, 2, 23, 7, 5, 3, 45, 23, 64, 25 }); ints.Sort(new GenericComparer<int>()); Assert.AreEqual(ints.Min(), ints.First()); Assert.AreEqual(ints.Max(), ints.Last()); ints.Sort(new GenericComparer<int>((i, i1) => Math.Sin(i) > Math.Sin(i1) ? -1 : Math.Sin(i) < Math.Sin(i1) ? 1 : 0)); Assert.AreEqual(64, ints.First()); Assert.AreEqual(5, ints.Last()); }
public void PostNewsItemWithValidDataShouldSucceed() { var news = new List<NewsItem> { new NewsItem { Title = "FirstNews", Content = "FirstNewsContent", PublishDate = DateTime.Now, UserId = "2", User = new ApplicationUser() {UserName = "******" } }, new NewsItem { Title = "SecondNews", Content = "SecondNewsContent", PublishDate = DateTime.Now.AddDays(-3), UserId = "2", User = new ApplicationUser() { UserName = "******" } }, new NewsItem { Title = "ThirdNews", Content = "ThirdNewsContent", PublishDate = DateTime.Now.AddDays(-10), UserId = "2", User = new ApplicationUser() {UserName = "******"} } }; var dataMock = new Mock<INewsData>(); dataMock.Setup(r => r.News).Returns(this.GetMockedNewsItem(news)); var controller = new NewsController(dataMock.Object); this.SetupController(controller, "NewsController"); var newNewsItem = new NewsItemOutputModel() { Title = "ThirdNews", Content = "ThirdNewsContent", PublishDate = DateTime.Now.AddDays(8) }; var result = controller.Post(newNewsItem).ExecuteAsync(new CancellationToken()).Result; Assert.AreEqual(HttpStatusCode.Created, result.StatusCode); Assert.AreEqual(newNewsItem.Title, news.Last().Title); Assert.AreEqual(newNewsItem.Content, news.Last().Content); Assert.IsNotNull(news.Last().PublishDate); }
public void ReaderWithHeaderTest() { using (var reader = new CsvReader<StockValue>( "csv-samples/IBM.csv", containsHeader: true, separator:',', dateTimeFormat: "yyyyMMdd")) { var stockValues = new List<StockValue>(); StockValue value = null; while ((value = reader.ReadObject()) != null) { if (value == null) throw new NullReferenceException(); stockValues.Add(value); } Assert.AreEqual(473, stockValues.Count); var firstValue = stockValues.First(); var lastValue = stockValues.Last(); Assert.AreEqual(new DateTime(2014, 1, 2), firstValue.DateTime); Assert.AreEqual(185.529999M, firstValue.Close); Assert.AreEqual(new DateTime(2015, 11, 16), lastValue.DateTime); Assert.AreEqual(133.710007M, lastValue.Close); } }
public void Progressでは_Reportが呼ばれるたびにProgressChangedイベントが起こる() { var progress = new IteratorTasks.Progress<int>(); var reportedItems = new List<int>(); progress.ProgressChanged += i => { reportedItems.Add(i); }; var t = Task.Run<int>(c => 進捗報告付きのコルーチン(c, progress)); var scheduler = Task.DefaultScheduler; // RunOnce 仕様のために、最初の1回だけ特殊(Update より前に Report 呼ばれる) // テスト仕様的には変だし何とかしたいけども scheduler.Update(); for (int i = 1; i < 100; i++) { Assert.AreEqual(i, reportedItems.Count); scheduler.Update(); Assert.AreEqual(i + 1, reportedItems.Count); Assert.AreEqual(i, reportedItems.Last()); } }
public void SupportVectorMachinePerformanceTest() { ex = null; var cv = new CrossValidation(); cv.Algorithm = new SupportVectorRegression(); var rand = new HeuristicLab.Random.MersenneTwister(); double[,] data = GenerateData(1000, rand); List<string> variables = new List<string>() { "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "y" }; Dataset ds = new Dataset(variables, data); cv.Problem.ProblemDataParameter.ActualValue = new RegressionProblemData(ds, variables.Take(10), variables.Last()); cv.Folds.Value = 5; cv.SamplesStart.Value = 0; cv.SamplesEnd.Value = 999; cv.ExceptionOccurred += new EventHandler<EventArgs<Exception>>(cv_ExceptionOccurred); cv.Stopped += new EventHandler(cv_Stopped); cv.Prepare(); cv.Start(); trigger.WaitOne(); if (ex != null) throw ex; TestContext.WriteLine("Runtime: {0}", cv.ExecutionTime.ToString()); }
public void LendToViewModelLendToTest() { Book book = new Book() { Title = "The Fellowship of the Ring" }; List<Person> persons = new List<Person>() { new Person() { Firstname = "Harry" }, new Person() { Firstname = "Ron" } }; MockLendToView lendToView = new MockLendToView(); AssertHelper.ExpectedException<ArgumentNullException>(() => new LendToViewModel(lendToView, null, null)); AssertHelper.ExpectedException<ArgumentNullException>(() => new LendToViewModel(lendToView, book, null)); LendToViewModel lendToViewModel = new LendToViewModel(lendToView, book, persons); Assert.AreEqual(book, lendToViewModel.Book); Assert.AreEqual(persons, lendToViewModel.Persons); // Show the dialog object owner = new object(); Action<MockLendToView> showDialogAction = (view) => { Assert.AreEqual("", LendToViewModel.Title); Assert.IsTrue(lendToView.IsVisible); Assert.AreEqual(owner, lendToView.Owner); // Check the default values Assert.IsTrue(lendToViewModel.IsLendTo); Assert.IsFalse(lendToViewModel.IsWasReturned); Assert.AreEqual(persons.First(), lendToViewModel.SelectedPerson); // Select the last person: Lend to Ron AssertHelper.PropertyChangedEvent(lendToViewModel, x => x.SelectedPerson, () => lendToViewModel.SelectedPerson = persons.Last()); // Press Ok button lendToViewModel.OkCommand.Execute(null); }; lendToView.ShowDialogAction = showDialogAction; Assert.IsTrue(lendToViewModel.ShowDialog(owner)); Assert.IsFalse(lendToView.IsVisible); Assert.AreEqual(persons.Last(), lendToViewModel.SelectedPerson); }
public void ShouldReturnRoleItems() { var expected = new List<string>() { "ItemOne", "ItemTwo" }; var actual = _dashboardMappingsProvider.GetRoleItems("Admin"); Assert.AreEqual(expected.First(), actual.First()); Assert.AreEqual(expected.Last(), actual.Last()); }
public async Task HasChangesChangedAfterSave() { var em1 = await TestFns.NewEm(_serviceName); var eventArgsList = new List<EntityManagerHasChangesChangedEventArgs>(); em1.HasChangesChanged += (s, e) => { eventArgsList.Add(e); }; var emp = em1.CreateEntity<Employee>(); emp.FirstName = "Test Fn"; emp.LastName = "Test Ln"; Assert.IsTrue(eventArgsList.Count == 1); Assert.IsTrue(eventArgsList.Last().HasChanges); Assert.IsTrue(em1.HasChanges()); var sr1 = await em1.SaveChanges(); Assert.IsTrue(sr1.Entities.Count == 1); Assert.IsTrue(eventArgsList.Count == 2); Assert.IsTrue(!eventArgsList.Last().HasChanges); Assert.IsTrue(!em1.HasChanges()); }
public int[] GetSequence(int length) { List<int> output = new List<int>(); output.Add(GetFirst()); while (output.Count < length) { output.Add(GetNext(output.Last())); } return output.ToArray(); }
public async Task HasChangesChangedAfterSave() { var em1 = await TestFns.NewEm(_serviceName); var hccArgs = new List<EntityManagerHasChangesChangedEventArgs>(); em1.HasChangesChanged += (s, e) => { hccArgs.Add(e); }; var emp = new Employee() { FirstName = "Test_Fn", LastName = "Test_Ln" }; em1.AddEntity(emp); Assert.IsTrue(hccArgs.Count == 1); Assert.IsTrue(hccArgs.Last().HasChanges == true); Assert.IsTrue(em1.HasChanges()); var sr = await em1.SaveChanges(); Assert.IsTrue(sr.Entities.Count == 1); Assert.IsTrue(hccArgs.Count == 2); Assert.IsTrue(hccArgs.Last().HasChanges == false); Assert.IsTrue(em1.HasChanges() == false); }
public void MeasurementTracker_Track_Ends_Session() { var actual = new List<Uri>(); var sessionManager = MeasurementTestHelpers.CreateSessionManager(); var tracker = new MeasurementTracker(MeasurementTestHelpers.Configuration, sessionManager, MeasurementTestHelpers.CreateEnvironment(), actual.Add); tracker.Track(new ScreenViewActivity("Testing") { EndSession = true }); Assert.AreEqual(SessionStatus.Ending, sessionManager.SessionStatus); StringAssert.Contains(actual.Last().OriginalString, "sc=end"); }
public void TestCircularRefs() { var list = new List<TestMan> { new TestMan {Name = "Serg", Age = 34}, new TestMan {Name = "Julia", Age = 32} }; list.First().Parent = list.Last(); list.Last().Parent = list.First(); _storage.Put("list", list); var result = _storage.Get<List<TestMan>>("list"); Assert.IsNotNull(result); Assert.AreEqual(2, result.Count); Assert.AreEqual("Serg", result.First().Name); Assert.AreEqual(34, result.First().Age); Assert.AreEqual(result.First(), result.Last().Parent); Assert.AreEqual(result.Last(), result.First().Parent); }
public void TestAddValidNews() { var controller = new NewsController(repoMock.Object); SetupController(controller, "News"); var news = new List<News> { new News { Title = "Zaglavie", Content = "dadadada" }, new News { Title = "Asdjoqwe", Content = "asodojk" } }; repoMock.Setup(repo => repo.Add(It.IsAny<News>())).Callback((News n) => news.Add(n)); var newNews = new NewsBindingModel { Title = "Teadsad", Content = "koko6ki" }; var result = controller.AddNews(newNews).ExecuteAsync(new CancellationToken()).Result; Assert.AreEqual(HttpStatusCode.Created, result.StatusCode); Assert.AreEqual(newNews.Title, news.Last().Title); Assert.AreEqual(newNews.Content, news.Last().Content); Assert.IsNotNull(news.Last().PublishDate); }
public static void Setup(TestContext context) { persons = Enumerable.Range(0, 500) .Select(i => new Person { FirstName = "F" + i, LastName = "L" + i, Birthdate = DateTime.Today.AddDays(i - 500), Comment = "C" + 1 }) .ToList(); lastDate = persons.Last().Birthdate; persons.Add(new Person { FirstName = "Mikael", LastName = "Eliasson", Birthdate = DateTime.Parse("1987-03-01"), Comment = "C" }); SetConfig(session => { session.InsertMany<IPerson>(persons); }); }
public void MeasurementTracker_Track_Carries_Forward_Last_Transaction() { var actual = new List<Uri>(); var tracker = new MeasurementTracker(MeasurementTestHelpers.Configuration, MeasurementTestHelpers.CreateSessionManager(), MeasurementTestHelpers.CreateEnvironment(), actual.Add); var transaction = new TransactionActivity { OrderId = "123", Currency = "GBP" }; tracker.Track(transaction); var transactionItem = new TransactionItemActivity("ABC", "Unit Test", 1.23m, 4); tracker.Track(transactionItem); Assert.AreEqual(transaction, transactionItem.Transaction); StringAssert.Contains(actual.Last().OriginalString, "ti=123"); }
public void TestWorkflowTaskGroupMultipleTasksRandom() { var tasksWith1 = new List<ITask>(); for (var i = 1; i <= 10; i++) { var i1 = i; tasksWith1.Add(new BaseWorkflowTask($"Task with 1 - {i}", (state) => Debug.WriteLine($"Executing task with 1 - {i1}"))); } var tasksAfter1 = new List<ITask>(); for (var i = 1; i <= 10; i++) { var i1 = i; tasksAfter1.Add(new BaseWorkflowTask($"Task after 1 - {i}", (state) => Debug.WriteLine($"Executing task after 1 - {i1}"))); } var tasksAfter10 = new List<ITask>(); for (var i = 1; i <= 5; i++) { var i1 = i; tasksAfter10.Add(new BaseWorkflowTask($"Task after 1.10 - {i}", (state) => Debug.WriteLine($"-- After 1.10, parallel - {i1}"))); } tasksAfter1[4].Then(tasksAfter10[2]); tasksWith1.Last().Then(tasksAfter10); tasksAfter10.Then(tasksAfter1[3]); var group = new MockTaskGroup(new BaseWorkflowTask("Step 1", (state) => { Debug.WriteLine("Executing step 1"); }) .Then(tasksAfter1) .Then(new BaseWorkflowTask("Step 3", (state) => { Debug.WriteLine("Executing step 3"); }))); group.Add(tasksWith1); group.Run(new State()); group.GetTasks().ForEach(t => Assert.AreEqual(WorkflowStatus.Completed, t.Status)); Assert.AreEqual(WorkflowStatus.Completed, group.Status); }
public void SingleBlockTest() { var content = new string('X', 100); var blocks = new List<FragmentBlock>(); var bw = new ObjectBlockWriter(b => blocks.Add(b)); using (var s = new BizTalkBlockStream(bw)) using (var sw = new StreamWriter(s)) { sw.Write(content); } Assert.AreEqual(2, blocks.Count); Assert.IsTrue(blocks.Last().IsEmpty); Assert.AreEqual(100, blocks[0].UncompressedLength); }
public void DeterminateStepProgressNotifier_NotifyCurrentProgress() { // Setup var controller = new ConfigurableProgressController(null); const int Steps = 2; var testSubject = new DeterminateStepProgressNotifier(controller, Steps); List<Tuple<string, double>> expectedProgress = new List<Tuple<string, double>>(); // Act + Verify for (int i = 0; i < Steps; i++) { expectedProgress.Add(Tuple.Create("hello world " + i, 0.0)); testSubject.NotifyCurrentProgress(expectedProgress.Last().Item1); Assert.AreEqual(0, testSubject.CurrentValue, "Should not change"); controller.AssertProgressChangeEvents(expectedProgress); } }
public void DoesNewEmployeeGetInsertedThenDeleted() { List<Employee> oldAllEmployees = new List<Employee>(); oldAllEmployees = _mainprog.GetAllEmployees(); _mainprog.InsertNewEmployee("New Name", "New Department", "New Job Title", 101, "New E-Mail@ Address"); List<Employee> newAllEmployees = new List<Employee>(); newAllEmployees = _mainprog.GetAllEmployees(); Assert.AreEqual(oldAllEmployees.Count + 1, newAllEmployees.Count); _mainprog.DeleteEmployeeById(newAllEmployees.Last().Id); List<Employee> newerAllEmployees = new List<Employee>(); newerAllEmployees = _mainprog.GetAllEmployees(); Assert.AreEqual(oldAllEmployees.Count, newerAllEmployees.Count); }
public Int32 Q1TripleStep(Int32 steps) // assumption that steps fists in n { List<Int32> ways = new List<Int32> { 1, 1, 2 }; if (steps <= 1) return ways[steps]; // here we assume that 0 steps can be chosen in one way. // Hangs. Bug? // Contract.Assert(steps > 2); int stepsRemaining = steps - 2; while (stepsRemaining > 0) { stepsRemaining--; ways.Add(ways.Sum()); ways.RemoveAt(0); } Contract.Ensures(ways.Count == 3); return ways.Last(); }
public void TopicWithDetails() { var message = new Message("Test"); List<Message> diffs = new List<Message>(); message.Init("Field", 1, 2, 3); message.Commit(this); // clear now // set up anonymous watcher, simply recording all changes message.ChangedWithDetails += (orig, diff) => { diffs.Add(diff); }; Assert.IsFalse(message.IsChanged); message.Topic = "OtherTopic"; var hasChanged = message.Commit(this); Assert.IsTrue(hasChanged); // notification received Assert.AreEqual(1, diffs.Count); // change corresponds Assert.AreEqual(message.Topic, diffs.First().Topic); Assert.IsTrue(diffs.Last().IsEmpty); Assert.IsFalse(message.IsChanged); message.Topic = " OtherTopic "; // adding whitespaces should not matter Assert.AreEqual("OtherTopic", message.Topic); Assert.IsFalse(message.IsChanged); // sync again, should stay silent this time hasChanged = message.Commit(this); Assert.IsFalse(hasChanged); Assert.AreEqual(1, diffs.Count); }
public void Progressでは_Reportが呼ばれるたびにProgressChangedイベントが起こる() { var progress = new Progress<int>(); var reportedItems = new List<int>(); progress.ProgressChanged += i => { reportedItems.Add(i); }; var t = new Task<int>(c => 進捗報告付きのコルーチン(c, progress)); var runner = new SampleTaskRunner.TaskRunner(); t.Start(runner); for (int i = 0; i < 100; i++) { Assert.AreEqual(i, reportedItems.Count); runner.Update(); Assert.AreEqual(i + 1, reportedItems.Count); Assert.AreEqual(i, reportedItems.Last()); } }
public async Task EntityAndPropertyChangedEvents() { await _emTask; var newLocation = new Location() { City = "Bar", Country = "Foo" }; var q = new EntityQuery<Supplier>().Where(s => s.CompanyName.StartsWith("P")).Take(2); var suppliers = await _em1.ExecuteQuery(q); Assert.IsTrue(suppliers.Count() > 0, "should have returned some suppliers"); var supp0 = suppliers.First(); List<EntityChangedEventArgs> entityChangedList = new List<EntityChangedEventArgs>(); List<PropertyChangedEventArgs> propChangedList = new List<PropertyChangedEventArgs>(); List<PropertyChangedEventArgs> aspectPropChangedList = new List<PropertyChangedEventArgs>(); _em1.EntityChanged += (s, e) => { entityChangedList.Add(e); }; ((INotifyPropertyChanged)supp0).PropertyChanged += (s, e) => { propChangedList.Add(e); }; supp0.EntityAspect.PropertyChanged += (s, e) => { aspectPropChangedList.Add(e); }; supp0.Location.City = "xxxxx"; var lastEc = entityChangedList.Last(); Assert.IsTrue(lastEc.EntityAspect == supp0.EntityAspect, "ec should have been fired"); Assert.IsTrue(entityChangedList[0].Action == EntityAction.PropertyChange && entityChangedList[0].Entity == supp0); Assert.IsTrue(entityChangedList[1].Action == EntityAction.EntityStateChange && entityChangedList[1].Entity == supp0); Assert.IsTrue(aspectPropChangedList.Count == 2, "2 aspects should have changed"); // isChanged and EntityState. Assert.IsTrue(propChangedList.Count == 1); Assert.IsTrue(propChangedList[0].PropertyName == "Location"); entityChangedList.Clear(); propChangedList.Clear(); aspectPropChangedList.Clear(); supp0.Location.City = "city-1"; supp0.Location.Address = "address-1"; Assert.IsTrue(entityChangedList.Count == 2, "should be 2 entity changed events"); Assert.IsTrue(propChangedList.Count == 2, "should be 2 propChanged events"); Assert.IsTrue(aspectPropChangedList.Count == 0, "no more EntityAspect changes"); }
public List<ITimeSeriesTrace> Get3TracesRegular( TSDateCalculator.TimeStepUnitCode u1, short q1, int c1, DateTime sDate1, out DateTime eDate1, Boolean shouldPerturb = false, int perturbTraceIndex = 0, int perturbStep = 0, double perturbVal = 0, double perturbMinutes = 0) { eDate1 = DateTime.Now; // dummy TSLibrary tsLib = new TSLibrary(); List<ITimeSeriesTrace> traceList = new List<ITimeSeriesTrace>(); int compressionCode; for (int t = 0; t < 3; t++) { TSTrace trace1 = new TSTrace { TraceNumber = t + 1 }; List<TimeSeriesValue> tsValues = new List<TimeSeriesValue>(); DateTime curDate = sDate1; Double curVal = 20; for (int i = 0; i < c1; i++) { tsValues.Add(new TimeSeriesValue { Date = curDate, Value = curVal }); curDate = tsLib.IncrementDate(curDate, u1, q1, 1); curVal = curVal + i / (t + 1); } // make a perturbation if called for if (shouldPerturb && t==perturbTraceIndex) { tsValues[perturbStep].Value += perturbVal; tsValues[perturbStep].Date = tsValues[perturbStep].Date.AddMinutes(perturbMinutes); } eDate1 = tsValues.Last().Date; tsLib.ConvertListToBlobWithChecksum( u1, q1, c1, sDate1, eDate1, tsValues, trace1, out compressionCode); traceList.Add(trace1); } return traceList; }
// the maximum number of time steps to put into the series // The series of tests below is for ConvertBlobToListLimited and ConvertListToBlob. // The tests take advantage of the fact that the methods are designed so that // the series that is put into the BLOB must be identical to the series that // comes out of the BLOB. // This method is re-used by the actual test methods that follow. public void ConvertBlobLimited(List<TimeSeriesValue> inList, TSDateCalculator.TimeStepUnitCode timeStepUnit, short timeStepQuantity, DateTime blobStartDate, int nCutStart, // the number of time steps that the test will truncate from the start of the series int nCutEnd, // the number of time steps that the test will truncate from the end of the series int nMax) { TSLibrary tsLib = new TSLibrary(); List<TimeSeriesValue> outList = new List<TimeSeriesValue>(); int compressionCode; byte[] blobData = tsLib.ConvertListToBlobWithChecksum(timeStepUnit, timeStepQuantity, inList.Count, inList.First().Date, inList.Last().Date, inList, new TSTrace { TraceNumber = 1 }, out compressionCode); int ret = tsLib.ConvertBlobToListLimited(timeStepUnit, timeStepQuantity, inList.Count, blobStartDate, nMax, inList[nCutStart].Date, inList[inList.Count - nCutEnd - 1].Date, blobData, ref outList, compressionCode); // The return value of the function must match the number of items in the original list Assert.AreEqual(ret, Math.Min(nMax, inList.Count - nCutStart - nCutEnd)); // the count in both lists must match Assert.AreEqual(outList.Count, Math.Min(nMax, inList.Count - nCutStart - nCutEnd)); // now check each item in the two lists Boolean AreEqual = true; for (int i = 0; i < ret; i++) { if (outList[i].ValueEquals(inList[i + nCutStart]) == false) AreEqual = false; } Assert.IsTrue(AreEqual); }
// The series of tests below is for ConvertBlobToListAll and ConvertListToBlob. // The tests take advantage of the fact that the methods are designed so that // the series that is put into the BLOB must be identical to the series that // comes out of the BLOB. // This method is re-used by the actual test methods that follow. public void ConvertBlobAll(List<TimeSeriesValue> inList, TSDateCalculator.TimeStepUnitCode timeStepUnit, short timeStepQuantity, DateTime blobStartDate) { TSLibrary tsLib = new TSLibrary(); List<TimeSeriesValue> outList = new List<TimeSeriesValue>(); int compressionCode; byte[] blobData = tsLib.ConvertListToBlobWithChecksum(timeStepUnit, timeStepQuantity, inList.Count, inList.First().Date, inList.Last().Date, inList, new TSTrace { TraceNumber=1 }, out compressionCode); int ret = tsLib.ConvertBlobToListAll(timeStepUnit, timeStepQuantity, inList.Count, blobStartDate, blobData, ref outList, compressionCode); // The return value of the function must match the number of items in the original list Assert.AreEqual(ret, inList.Count); // the count in both lists must match Assert.AreEqual(outList.Count, inList.Count); // now check each item in the two lists Boolean AreEqual = true; for (int i = 0; i < ret; i++) { if (outList[i].ValueEquals(inList[i]) == false) AreEqual = false; } Assert.IsTrue(AreEqual); }
private void VerificationScenario(uint testKey) { // setup List<SiloAddress> silos = new List<SiloAddress>(); foreach (var siloHandle in GetActiveSilos()) { long hash = siloHandle.Silo.SiloAddress.GetConsistentHashCode(); int index = silos.FindLastIndex(siloAddr => siloAddr.GetConsistentHashCode() < hash) + 1; silos.Insert(index, siloHandle.Silo.SiloAddress); } // verify parameter key VerifyKey(testKey, silos); // verify some other keys as well, apart from the parameter key // some random keys for (int i = 0; i < 3; i++) { VerifyKey((uint)random.Next(), silos); } // lowest key uint lowest = (uint)(silos.First().GetConsistentHashCode() - 1); VerifyKey(lowest, silos); // highest key uint highest = (uint)(silos.Last().GetConsistentHashCode() + 1); VerifyKey(lowest, silos); }