public void CompareIntegerWeights() { Random random = new Random((int) DateTime.Now.Ticks); List<double> xRepeatedValues = new List<double>(); List<double> yRepeatedValues = new List<double>(); List<int> weights = new List<int>(); var sampleTuples = new List<Tuple<double[], double>>(); for (int i = 0; i < 10; i++) { int weight = random.Next(1, 10); weights.Add(weight); double x = random.NextDouble(); xRepeatedValues.AddRange(Enumerable.Repeat(x, weight)); double y = random.NextDouble(); yRepeatedValues.AddRange(Enumerable.Repeat(y, weight)); sampleTuples.Add(new Tuple<double[], double>(new[]{x}, y)); } const double epsilon = 1E-12; var repeatedIntercept = Statistics.Intercept(new Statistics(yRepeatedValues), new Statistics(xRepeatedValues)); var repeatedSlope = Statistics.Slope(new Statistics(yRepeatedValues), new Statistics(xRepeatedValues)); var repeatedSlopeWithoutIntercept = SlopeWithoutIntercept(yRepeatedValues, xRepeatedValues); var weightedRegression = WeightedRegression.Weighted(sampleTuples, weights.Select(w=>(double)w).ToArray(), true); Assert.AreEqual(repeatedIntercept, weightedRegression[0], epsilon); Assert.AreEqual(repeatedSlope, weightedRegression[1], epsilon); var weightedRegressionWithoutIntercept = WeightedRegression.Weighted(sampleTuples, weights.Select(w => (double) w).ToArray()); Assert.AreEqual(repeatedSlopeWithoutIntercept, weightedRegressionWithoutIntercept[0], epsilon); }
public void Test_Neighbors() { var list = ShortestPath.GetNeighbors(new Position(1, 1), 3, 3); var correct = new List<Position> { new Position(0, 0), new Position(0, 1), new Position(0, 2), new Position(1, 0), new Position(1, 2), new Position(2, 0), new Position(2, 1), new Position(2, 2) }; Assert.IsTrue(list.Select(o => o.x).SequenceEqual(correct.Select(o => o.x))); Assert.IsTrue(list.Select(o => o.y).SequenceEqual(correct.Select(o => o.y))); list = ShortestPath.GetNeighbors(new Position(2, 2), 3, 3); correct = new List<Position> { new Position(1, 1), new Position(1, 2), new Position(2, 1), }; Assert.IsTrue(list.Select(o => o.x).SequenceEqual(correct.Select(o => o.x))); Assert.IsTrue(list.Select(o => o.y).SequenceEqual(correct.Select(o => o.y))); list = ShortestPath.GetNeighbors(new Position(0, 0), 3, 3); correct = new List<Position> { new Position(0, 1), new Position(1, 0), new Position(1, 1), }; Assert.IsTrue(list.Select(o => o.x).SequenceEqual(correct.Select(o => o.x))); Assert.IsTrue(list.Select(o => o.y).SequenceEqual(correct.Select(o => o.y))); }
public void TestGetToken() { //arrange var list = new List<ITokenPairRecord>(); var processor = new InstrumentationLib.Moles.MMemoryFile<ITokenPairRecord>() { Open = () => true, WriteT = ( b ) => { list.Add(b); return true; } }; var service = new InstrumentationLib.TokenService(1000, processor.Instance) {Enabled = true}; const int eventId = 3; //act var tokenPairRec = service.GetToken(eventId); //assert System.Threading.Thread.Sleep(1000); Assert.AreEqual(1, list.Count, "list count"); Assert.AreEqual((ulong)1, tokenPairRec.T2.Id); Assert.AreEqual((short)1000, tokenPairRec.T2.AppId); Assert.AreEqual(eventId, tokenPairRec.T2.EventId); Assert.AreEqual((ulong)1, list.Select(r => r.T2.Id).First()); Assert.AreEqual((short)1000, list.Select(r => r.T2.AppId).First()); Assert.AreEqual(eventId, list.Select(r => r.T2.EventId).First()); Assert.AreEqual(true, list.Select(r => r.T1.IsNull()).First()); }
public void ParseEndUserSuppliedXriIdentifer() { List<char> symbols = new List<char>(XriIdentifier.GlobalContextSymbols); symbols.Add('('); List<string> prefixes = new List<string>(); prefixes.AddRange(symbols.Select(s => s.ToString())); prefixes.AddRange(symbols.Select(s => "xri://" + s.ToString())); foreach (string prefix in prefixes) { var id = Identifier.Parse(prefix + "andrew"); Assert.IsInstanceOfType(id, typeof(XriIdentifier)); } }
public void Test_GetShortestPath() { var cells = new Cell[,] { { new Cell("a"), new Cell("b"), new Cell("c") }, { new Cell("z"), new Cell("z"), new Cell("d") }, { new Cell("z"), new Cell("z"), new Cell("e") } }; var path = ShortestPath.GetShortestPath(cells, new Position(0, 0), new Position(2, 2)); var correct = new List<Position> { new Position(0,0), new Position(0,1), new Position(1,2), new Position(2,2), }; Assert.IsTrue(path.Select(o => o.x).SequenceEqual(correct.Select(o => o.x))); Assert.IsTrue(path.Select(o => o.y).SequenceEqual(correct.Select(o => o.y))); }
private List<PropertyInfo> SelectProperties(Type t) { IPropertySelectorPolicy selector = new PropertySelectorPolicy<DependencyAttribute>(); IBuilderContext context = GetContext(t); var properties = new List<SelectedProperty>(selector.SelectProperties(context, context.PersistentPolicies)); return properties.Select(sp => sp.Property).ToList(); }
public void Change3Tags_Successful() { // Init var mp3Files = new List<IMp3File> { new FakeMp3File(new Mp3Tags(), SourceFolder + "1.newartist1 - newtitle1.mp3"), new FakeMp3File(new Mp3Tags(), SourceFolder + "2.newartist2 - newtitle2.mp3"), new FakeMp3File(new Mp3Tags(), SourceFolder + "3.newartist3 - newtitle3.mp3"), }; // Act var commandPool = mp3Files.Select(mp3File => new ChangeTagsCommand(mp3File, "{track}.{artist} - {title}")).Cast<Command>().ToList(); commandPool.ForEach(command => command.Execute()); // Assert Assert.AreEqual("newartist1", mp3Files[0].Tags.Artist); Assert.AreEqual("newartist2", mp3Files[1].Tags.Artist); Assert.AreEqual("newartist3", mp3Files[2].Tags.Artist); Assert.AreEqual("newtitle1", mp3Files[0].Tags.Title); Assert.AreEqual("newtitle2", mp3Files[1].Tags.Title); Assert.AreEqual("newtitle3", mp3Files[2].Tags.Title); Assert.AreEqual((uint)1, mp3Files[0].Tags.Track); Assert.AreEqual((uint)2, mp3Files[1].Tags.Track); Assert.AreEqual((uint)3, mp3Files[2].Tags.Track); }
public static void Aggregate(params Action[] actions) { var exceptions = new List<AssertFailedException>(); foreach (var action in actions) { try { action(); } catch (AssertFailedException ex) { exceptions.Add(ex); } } var assertionTexts = exceptions.Select(assertFailedException => assertFailedException.Message).ToList(); if (0 != assertionTexts.Count) { throw new AssertFailedException( assertionTexts.Aggregate( (aggregatedMessage, next) => aggregatedMessage + Environment.NewLine + next)); } }
public void JobManager_Executa_Metodos_Em_Sequencia_TEST() { var idList = new List<Guid>(); for (int i = 0; i < 20; i++) { var a = i; idList.Add(TestJobQueue.Instance.Enqueue( "op-err" + i, () => { Thread.Sleep(10); throw new Exception("ERRO SOCORRO" + a); }, "master")); } var jobs = idList.Select(x => JobManager.Instance.FindJob(x)).ToList(); while (jobs.Any(x => !x.Done)) { Thread.Sleep(10); } var idx = 0; foreach (var job in jobs.OrderBy(x => x.StartDate)) { Assert.IsTrue(job.Done); Assert.IsNotNull(job.Error); Assert.AreEqual(jobs[idx], job); Assert.AreEqual("ERRO SOCORRO" + idx, job.Error.Message); idx++; } }
public void RunAllTests() { var ta = new TestArguments(new[] { string.Format("assembly={0}", _testAssembly), "newDomain=true" }); // Get tests var assembly = Assembly.LoadFrom(ta.AssemblyLocation); var filteredTests = new List<MethodInfo>(AssemblyParser.GetTestMethods(assembly)); var tests = filteredTests.Select(test => string.Format("{0}.{1}", test.ReflectedType.FullName, test.Name)).ToList(); // Run tests var sw = Stopwatch.StartNew(); TestResult result = new Runner.TestRunner().RunTestsInParallel(tests, assembly, ta.NumberOfThreads); sw.Stop(); var total = (from object r in result.Results select r as TestResult).Count(); var failed = (from object r in result.Results select r as TestResult).Count(tr => tr.IsFailure || tr.IsError); var passed = (from object r in result.Results select r as TestResult).Count(tr => tr.IsSuccess); // Test should finish in under one minute Assert.IsTrue(sw.ElapsedMilliseconds / 1000 < 60); // 10 Tests were run Assert.IsTrue(total == 10); // 1 Failed Assert.IsTrue(failed == 1); // 9 Passed Assert.IsTrue(passed == 9); }
public void Can_add_documents_and_search() { var documents = new List<Document>(); for(var i = 0; i < 10; i++) { dynamic newDocument = CreateDocument(); newDocument.BookId = 9-i; documents.Add(newDocument); _luceneIndex.Insert(newDocument); Thread.Sleep(1200); } var documentIds = documents.Select(c => c._id.Value).ToList(); documentIds.Reverse(); _luceneIndex.Refresh(); var criteria = new SearchCriteria { Query = "hitchhiker AND galaxy", SortByField = "BookId", TopN = 10 }; var result = _luceneIndex.Search(criteria); Assert.AreEqual<int?>(result.ItemCount, 10); Assert.AreEqual<int?>(result.ItemCount, result.TotalHits); Assert.IsTrue(result.Items.SequenceEqual(documentIds)); }
public void Analyse_Common_Successful() { // Init const string sourceFolder = @"D:\music\"; var mp3Files = new List<IMp3File> { new FakeMp3File(new Mp3Tags { Album = "TestAlbum1", Artist = "TestArtist1", Genre = "TestGenre1", Title = "TestTitle1", Track = 1 }, sourceFolder + "TestArtist1 - TestTitle2.mp3"), new FakeMp3File(new Mp3Tags { Album = "TestAlbum2", Artist = "TestArtist2", Genre = "TestGenre2", Title = "TestTitle2", Track = 2 }, sourceFolder + "TestArtist2 - TestTitle2.mp3"), }; var fakeWriter = new FakeWorker(); var commandPool = mp3Files.Select(mp3File => new AnalyseCommand(mp3File, "{artist} - {title}", fakeWriter)).Cast<Command>().ToList(); // Act commandPool.ForEach(command => command.Execute()); // Assert Assert.AreEqual("File: " + mp3Files[0].FullName + "\n" + "{title} in file name: TestTitle2; {title} in tags: TestTitle1\n\n", fakeWriter.Stream.ToString()); }
public static void ClassSetup(TestContext testContext) { //Set up a test configuration to use. _testConfig = new NameValueCollection(); _testConfig.Add("applicationName", "DMTestApp"); _testUsers = TestUtils.GetTestUsers(2, "Role"); _testRoles = TestUtils.GetTestRoles(3, "Sample"); //Clear out old data in case our previous run crashed ClassCleanup(); var mRoleSetup = new RoleProv(); mRoleSetup.Initialize("DormouseRoleProvider", _testConfig); mRoleSetup.CreateRole("DefaultRole"); foreach (var r in _testRoles) { mRoleSetup.CreateRole(r); } var mpSetup = new MemberProv(); mpSetup.Initialize("DormouseMembershipProvider", _testConfig); foreach (var u in _testUsers) { MembershipCreateStatus status; mpSetup.CreateUser(u.username, u.password, u.email, u.passwordQuestion, u.passwordAnswer, u.isApproved, u.providerUserKey, out status); } mRoleSetup.AddUsersToRoles(_testUsers.Select(u=>u.username).ToArray(), new[] { "DefaultRole" }); }
public void TestSelectAdd_NullDestination_Throws() { IReadOnlySublist<List<int>, int> list = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> destination = null; Func<int, int> converter = i => i; list.Select(converter).AddTo(destination); }
public void TestStrategy(Strategy strategy, World environment, StrategyTesterReport start, List<PointD> expectedPoints, List<double> expectedAngles, List<bool> expectedResults) { var curReport = start; var reports = new List<StrategyTesterReport>(); while (true) { var newAction = strategy.GetNextState(curReport); var movesList = newAction.Item1; if (newAction.Item2 is EndOfStrategy) break; curReport = environment.TryMove(curReport, movesList, true); reports.Add(curReport); } CollectionAssert.AreEqual(reports.Select(x => x.Coords).ToList(), expectedPoints); CollectionAssert.AreEqual(reports.Select(x => x.AngleInRadians).ToList(), expectedAngles, new DoubleComaperer()); CollectionAssert.AreEqual(reports.Select(x => x.Success).ToList(), expectedResults); }
public string[] Anagrams(string[] strs) { Dictionary<string, List<int>> dic = new Dictionary<string, List<int>>(); for (int i = 0; i < strs.Length; i++) { string normalizedStr = new string(strs[i].OrderBy(c => c).ToArray()); if (dic.ContainsKey(normalizedStr)) { dic[normalizedStr].Add(i); } else { dic[normalizedStr] = new List<int>() { i }; } } List<int> answerIndexes = new List<int>(); foreach (var kvp in dic) { if (kvp.Value.Count > 1) { answerIndexes.AddRange(kvp.Value); } } return answerIndexes.Select(i => strs[i]).ToArray(); }
public void TestMultiThread() { var listTask = new List<Task<XElement>>(); ComReader.BufferMembers = ComReader.GetMembers(); for (var i = 0; i < 100; i++) { var temp = Task<XElement>.Factory.StartNew(ComReader.GetMembers); listTask.Add(temp); } var result = listTask.Select(p => p.Result).ToList(); foreach (var o in listTask) o.Dispose(); foreach (var s in result) Assert.IsTrue(XNode.DeepEquals(ComReader.BufferMembers, s)); Task<XElement> temp1 = Task<XElement>.Factory.StartNew(ComReader.GetMembers); Task<XElement> temp2 = Task<XElement>.Factory.StartNew(ComReader.GetMembers); Task<XElement> temp3 = Task<XElement>.Factory.StartNew(ComReader.GetMembers); Task<XElement> temp4 = Task<XElement>.Factory.StartNew(ComReader.GetMembers); XElement result1 = temp1.Result; XElement result2 = temp2.Result; XElement result3 = temp3.Result; XElement result4 = temp4.Result; Assert.IsTrue(XNode.DeepEquals(ComReader.BufferMembers, result1)); Assert.IsTrue(XNode.DeepEquals(ComReader.BufferMembers, result2)); Assert.IsTrue(XNode.DeepEquals(ComReader.BufferMembers, result3)); Assert.IsTrue(XNode.DeepEquals(ComReader.BufferMembers, result4)); }
public void UpdateTestDurations_SameTestsInDifferentExecutables_DurationsAreWrittenAndReadCorrectly() { string tempFile = Path.GetTempFileName(); string tempFile2 = Path.GetTempFileName(); List<Model.TestResult> testResults = new List<Model.TestResult> { TestDataCreator.ToTestResult("TestSuite1.Test1", Model.TestOutcome.Passed, 3, tempFile), TestDataCreator.ToTestResult("TestSuite1.Test1", Model.TestOutcome.Failed, 4, tempFile2) }; var serializer = new TestDurationSerializer(); serializer.UpdateTestDurations(testResults); string durationsFile1 = GetDurationsFile(serializer, tempFile); File.Exists(durationsFile1).Should().BeTrue(); string durationsFile2 = GetDurationsFile(serializer, tempFile2); File.Exists(durationsFile2).Should().BeTrue(); IDictionary<Model.TestCase, int> durations = serializer.ReadTestDurations(testResults.Select(tr => tr.TestCase)); durations.Count.Should().Be(2); durations.Should().ContainKey(testResults[0].TestCase); durations[testResults[0].TestCase].Should().Be(3); durations.Should().ContainKey(testResults[1].TestCase); durations[testResults[1].TestCase].Should().Be(4); File.Delete(durationsFile1); File.Delete(durationsFile2); }
public static void Main(string[] args) { foreach (var type in Assembly.GetExecutingAssembly().GetTypes()) { if (type.GetCustomAttributes<TestClassAttribute>().Any()) { var ls = new List<Exception>(); object instance = null; foreach (var method in type.GetMethods()) { if (method.GetCustomAttributes<TestMethodAttribute>().Any()) { instance = instance ?? type.GetConstructor(System.Type.EmptyTypes).Invoke(new object[0]); try { method.Invoke(instance, new object[0]); } catch (Exception ex) { ls.Add(ex); } } } if (ls.Any()) { var message = string.Join(Environment.NewLine, ls.Select(ex => ex.InnerException.Message)); Debug.WriteLine("Error: " + message); Console.WriteLine("Error: " + message); } } } }
public void CrossProcessBarrierTest() { IEnumerable<string> allNames = new List<string> { "deployment(400).GenericWorkerRole.Cloud.WebRole.0_Web", "deployment(400).GenericWorkerRole.Cloud.WebRole.1_Web", "deployment(400).GenericWorkerRole.Cloud.WebRole.2_Web", "deployment(400).GenericWorkerRole.Cloud.WebRole.3_Web", "deployment(400).GenericWorkerRole.Cloud.WebRole.4_Web" }; Func<string, string> escapeMutexName = instanceId => instanceId.Replace("(", ".").Replace(")", ".").Replace(".", ""); allNames = allNames.Select(escapeMutexName); var tasks = new List<Task>(); foreach (var currentName in allNames) { var peerNames = new List<string>(allNames); peerNames.Remove(currentName); var c = CrossProcessBarrier.GetInstance(currentName, peerNames, TimeSpan.Zero); tasks.Add(Task.Factory.StartNew(c.Wait)); Trace.TraceInformation("Launched task {0}", currentName); } Trace.TraceInformation("Waiting for all tasks to reach the barrier"); Task.WaitAll(tasks.ToArray()); Trace.TraceInformation("All tasks reached the barrier"); }
public void ThenTheSearchResultListShouldDisplayTheBooksInTheFollowingOrder(Table table) { var expectedBookList = new List<Book>(); foreach (var tableRow in table.Rows) { var author = tableRow["Author"]; var title = tableRow["Title"]; var book = new Book { Author = author, Title = title }; expectedBookList.Add(book); } var itemCount = selenium.FindElements(By.XPath("//table[@id='searchResultTable']/tbody/tr")).Count(); var resultBookList = new List<Book>(); const int headerCount = 0; for (int i = headerCount + 1; i <= itemCount; i++) { string title = selenium.FindElements(By.XPath("//table/tbody/tr[" + i + "]/td[@class='title']")).First().Text; string author = selenium.FindElements(By.XPath("//table/tbody/tr[" + i + "]/td[@class='author']")).First().Text; resultBookList.Add(new Book { Title = title, Author = author }); } var expextedTitleList = expectedBookList.Select(ebl => ebl.Title).ToList(); var resultTitleList = resultBookList.Select(ral => ral.Title).ToList(); CollectionAssert.AreEqual(expextedTitleList, resultTitleList); }
public void Index_WhenCreatingViewModel_ShouldCreateModel() { var markets = new List<IMarket> { _currentMarket, _market }; var expectedModel = new MarketViewModel() { ContentLink = _contentLink, MarketId = _currentMarket.MarketId.Value, Markets = markets.Select(x => new SelectListItem { Selected = false, Text = x.MarketName, Value = x.MarketId.Value }) }; _mockCurrentMarket.Setup(x => x.GetCurrentMarket()).Returns(_currentMarket); _mockMarketService.Setup(x => x.GetAllMarkets()).Returns(markets); var subject = CreateController(); var result = ((PartialViewResult)subject.Index(_contentLink)).Model as MarketViewModel; result.ShouldBeEquivalentTo(expectedModel); }
private static void PrintSchedule(List<Employee> employees, List<Duty> duties) { var maxNameLength = employees.Max(x => x.Name.Length); duties = duties.OrderBy(x => x.Timeslot).ToList(); Debug.Write(new string(' ', maxNameLength + Padding)); Debug.Write(String.Join(" ", duties.Select(x => x.Timeslot))); Debug.WriteLine(""); foreach (var employee in employees) { Debug.Write(employee.Name.PadRight(maxNameLength + Padding)); foreach (var duty in duties) { if (duty.Employee.Equals(employee)) { Debug.Write("X"); } else { Debug.Write(" "); } Debug.Write(" "); } Debug.Write(" "); PrintStatistics(employee, duties.Where(x => Equals(x.Employee, employee)).ToList()); Debug.WriteLine(""); } }
public void TestMergeKeepDuplicates() { var arg = new List<List<int>> { new List<int> { 1, 3, 5 }, new List<int> { -1, 1, 2, 4 }, new List<int> { 6, 7 } }; var expected = new List<int> { -1, 1, 1, 2, 3, 4, 5, 6, 7 }; var res = arg.Merge(false).ToList(); Assert.IsTrue(expected.SequenceEqual(res), "Merge of [{0}] with duplicates gives {1} instead of {2}", string.Join(", ", arg.Select(IntsToString)), IntsToString(res), IntsToString(expected)); }
public void Analyse_Index_AllRight_Successful() { // Init const string sourceFolder = @"D:\music\"; var mp3Files = new List<IMp3File> { new FakeMp3File(new Mp3Tags{Title = "title1"}, sourceFolder + "01. title1.mp3"), new FakeMp3File(new Mp3Tags{Title = "title2"}, sourceFolder + "02. title2.mp3"), new FakeMp3File(new Mp3Tags{Title = "title3"}, sourceFolder + "03. title3.mp3"), new FakeMp3File(new Mp3Tags{Title = "title4"}, sourceFolder + "04. title4.mp3"), new FakeMp3File(new Mp3Tags{Title = "title5"}, sourceFolder + "05. title5.mp3"), new FakeMp3File(new Mp3Tags{Title = "title6"}, sourceFolder + "06. title6.mp3"), new FakeMp3File(new Mp3Tags{Title = "title7"}, sourceFolder + "07. title7.mp3"), new FakeMp3File(new Mp3Tags{Title = "title8"}, sourceFolder + "08. title8.mp3"), new FakeMp3File(new Mp3Tags{Title = "title9"}, sourceFolder + "09. title9.mp3"), new FakeMp3File(new Mp3Tags{Title = "title10"}, sourceFolder + "10. title10.mp3"), }; var fakeWriter = new FakeWorker(); var commandPool = mp3Files.Select(mp3File => new AnalyseCommand(mp3File, "{index}. {title}", fakeWriter)).Cast<Command>().ToList(); // Act commandPool.ForEach(command => command.Execute()); // Assert var message = ""; Assert.AreEqual(message, fakeWriter.Stream.ToString()); }
public void TestGenerateRollover() { // List of points the generator will use. var points = new List<Point> { new Point(0, 0), new Point(0, 1), new Point(1, 0), new Point(1, 1) }; // Setup a list of expected points by duplicating // the original points. var expected = new List<Point>(points); expected.AddRange(points.Select(p => new Point(p.X, p.Y))); // Prime the generator. var generator = new DeterminatePointGenerator(points); var generated = new List<Point>(points.Count); // We want the generator to rollover and reuse the points. for (int i = 0; i < points.Count * 2; i++) { generated.Add(generator.Generate(2, 2)); } Assert.IsTrue(expected.SequenceEqual(generated)); }
public void Init() { _users = new List<UserEntity>(); for (var ndx = 0; ndx < 10; ++ndx) { var postfix = ndx.ToString(); var user = new UserEntity { UserEntityId = ndx + 1, DateRegistered = ServerTime.Now, UserName = "******" + postfix, Email = String.Format("user.{0}@test.com", ndx) }; _users.Add(user); } Mapper.CreateMap<UserEntity, User>() .ForMember(p => p.Id, opt => opt.MapFrom(src => src.UserEntityId)) .IgnoreAllNonExisting(); var builder = new ContainerBuilder(); builder.RegisterType<QueryBuilder>().As<IQueryBuilder>(); var entitiesRepo = new Repository<UserEntity>(_users); var usersRepo = new Repository<User>(_users.Select(p => p.MapTo<User>())); builder.RegisterInstance(entitiesRepo).As<IRepository<UserEntity>>().SingleInstance(); builder.RegisterInstance(usersRepo).As<IRepository<User>>().SingleInstance(); var container = builder.Build(); var resolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(resolver); }
public void Join() { string[] test = { "this", "is", "a", "test" }; Assert.AreEqual("this,is,a,test", test.Join()); Assert.AreEqual("this, is, a, test", test.Join(", ")); Assert.AreEqual("this, is, a, test", test.Join(", ", 0, 4)); Assert.AreEqual("this,is,a,test", test.Join(0, 4)); var test1 = new List<string>() { "this", "is", "a", "test" }; Assert.AreEqual("this,is,a,test", test1.Join()); Assert.AreEqual("this, is, a, test", test1.Join(", ")); Assert.AreEqual("this, is, a, test", test1.Join(", ", 0, 4)); Assert.AreEqual("this,is,a,test", test1.Join(0, 4)); var test2 = test1.Select(s => s); Assert.AreEqual("this,is,a,test", test2.Join()); Assert.AreEqual("this, is, a, test", test2.Join(", ")); var test3 = new List<int>() { 1, 2, 3 }.Select(i => i); Assert.AreEqual("1,2,3", test3.Join()); Assert.AreEqual("1, 2, 3", test3.Join(", ")); }
public void Test_CellTable_GetShortextPath() { /// Testing GetShortestPath(); var model = new CellTable("a z z b z z c d", 3); Assert.AreEqual(model.NumItems, 8); Assert.AreEqual(model.Width, 3); Assert.AreEqual(model.Height, 3); var path = model.GetShortestPath(); var correct = new List<Position> { new Position(0,0), new Position(0,1), new Position(1,2) }; Assert.IsTrue(path.Select(o => o.x).SequenceEqual(correct.Select(o => o.x))); Assert.IsTrue(path.Select(o => o.y).SequenceEqual(correct.Select(o => o.y))); }
public static void HomeScreenShouldShowInOrder(List<Book> shownBooks, IEnumerable<string> expectedTitles) { Assert.IsTrue(_matchInOrderWithTitles(shownBooks, expectedTitles), "The home screen does not show the list of expected books in the expected order. Books shown: '{0}'", String.Join<string>(",", shownBooks.Select(b => b.Title))); }