public void TestExceptAdd_NullComparer_Throws() { IReadOnlySublist<List<int>, int> list1 = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> list2 = new List<int>().ToSublist(); IComparer<int> comparer = null; list1.Except(list2, comparer); }
public void GetFactorsTest() { double number = 18; List<double> expectedFactors = new List<double>() { 1, 2, 3, 6, 9, 18 }; Assert.IsTrue(expectedFactors.Except(Calculate.GetFactors(number)).ToArray().Length == 0); }
public void TestExceptAdd_NullComparison_Throws() { IReadOnlySublist<List<int>, int> list1 = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> list2 = new List<int>().ToSublist(); Func<int, int, int> comparison = null; list1.Except(list2, comparison); }
public void ShouldReturnPrimesUnder30() { // Arrange var primeNumbers = new PrimeNumbers(); var primesReturned = false; var primesGenerated = new List<int>(); // Primes taken from https://oeis.org/A000040 var primesUnder30 = new List<int> { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }; // Act foreach (var prime in primeNumbers.Generate(30)) { Assert.IsTrue(primesUnder30.Contains(prime), $"Unexpected prime: {prime}"); primesGenerated.Add(prime); primesReturned = true; } // Assert Assert.IsTrue(primesReturned, "Expected the on prime action to be called."); Assert.IsFalse(primesUnder30.Except(primesGenerated).Any(), "Expected all primes under 30 to be generated."); }
public void LinqExcept_ShouldReturnEMotyCollection() { var playlistItem1 = new List<PlaylistItem> { new PlaylistItem { Snippet = new PlaylistItemSnippet { Title = "Title 1", ResourceId = new ResourceId { VideoId = "dsfhahdfh" } } } }; var playlistItem2 = new List<PlaylistItem> { new PlaylistItem { Snippet = new PlaylistItemSnippet { Title = "Title 1", ResourceId = new ResourceId { VideoId = "dsfhahdfh" } } } }; var comparer = new PlaylistItemEqualityComparer(); var result = playlistItem1.Except(playlistItem2, comparer); Assert.IsFalse(result.Any()); }
public void LinqExcept_ShouldReturnEMotyCollection() { var channel1 = new List<Channel> { new Channel { Id = "dsfhahdfh", Snippet = new ChannelSnippet { Title = "Title 1" } } }; var channel2 = new List<Channel> { new Channel { Id = "dsfhahdfh", Snippet = new ChannelSnippet { Title = "Title 1" } } }; var comparer = new ChannelEqualityComparer(); var result = channel1.Except(channel2, comparer); Assert.IsFalse(result.Any()); }
public void QueryDocIdsWithParameterDocIds() { var expectedDocIds = new List<string> { $"M:{ValidDocId}0", $"T:{ValidDocId}0", }; var result = _OfflineApiPortService.QueryDocIdsAsync(expectedDocIds).Result.Response; Assert.AreEqual(expectedDocIds.Count(), result.Count()); Assert.AreEqual(0, expectedDocIds.Except(result.Select(r => r.Definition.DocId)).Count()); }
public void GetFilePaths_return_correct_paths() { var _checkList = new List<string> { @"C:\Users\DarkS\Source\Repos\ElQuecus\ElQuecus\ElQuecus.Test\TestMusic\Hollywood Undead- Does Everybody In the World Have To Die.mp3", @"C:\Users\DarkS\Source\Repos\ElQuecus\ElQuecus\ElQuecus.Test\TestMusic\Hollywood Undead - Disease.mp3", @"C:\Users\DarkS\Source\Repos\ElQuecus\ElQuecus\ElQuecus.Test\TestMusic\Hollywood Undead- Party By Myself.mp3" }; const string checkedPath = @"C:\Users\DarkS\Source\Repos\ElQuecus\ElQuecus\ElQuecus.Test\TestMusic"; var test = FileSearch.GetFilePaths(checkedPath).Result; Assert.AreEqual(_checkList.Except(test).Count(), 0); }
public void ExceptTest() { var src = new List<String> { "foo", "bar", "baz" }; var act = src.Except("bar"); Assert.IsTrue(act.Count() == 2); Assert.IsFalse(act.Contains("bar")); src = new List<String> { "foo", "bar", "baz" }; act = src.Except("xxx"); Assert.IsTrue(act.Count() == 3); Assert.IsFalse(act.Contains("xxx")); }
public void TestBatchableViewModel_ChangeModelProperty_AllPropertyChangedFired() { var listOfPropertyNames = new List<string>(); var vm = new TestBatchableViewModel(); vm.PropertyChanged += (sender, args) => { listOfPropertyNames.Add(args?.PropertyName); }; vm.SetBackingModel(new TestModel(name: "Test", id: 1)); var expectedListOfNames = new List<string>() { "Model", nameof(vm.Name), nameof(vm.ID) }; Assert.IsTrue(expectedListOfNames.Except(listOfPropertyNames).Count() == 0, $"All property names expected are NOT in the fired list: expected:[{HelperMethods.GetStringFromCollection(expectedListOfNames)}], fired:[{HelperMethods.GetStringFromCollection(listOfPropertyNames)}]."); Assert.IsTrue(listOfPropertyNames.Except(expectedListOfNames).Count() == 0, $"All property names fired are NOT in the expected list: expected:[{HelperMethods.GetStringFromCollection(expectedListOfNames)}], fired:[{HelperMethods.GetStringFromCollection(listOfPropertyNames)}]."); CollectionAssert.AreEqual(expectedListOfNames, listOfPropertyNames, $"The expected properties of the TestViewModel: expected:[{HelperMethods.GetStringFromCollection(expectedListOfNames)}], fired:[{HelperMethods.GetStringFromCollection(listOfPropertyNames)}]. They fired in an incorrect order..."); }
public void TestDecode() { var hFuncs = new List<IHashFunc> { new MurmurHash3_x86_32() {Seed = 0}, new MurmurHash3_x86_32() {Seed = 1}, new MurmurHash3_x86_32() {Seed = 2}, new MurmurHash3_x86_32() {Seed = 3}, new MurmurHash3_x86_32() {Seed = 4} }; var l1 = new List<long>(); var l2 = new List<long>(); for (var i = 0; i < 1000; ++i) { l1.Add((long)i); } for (var i = 0; i < 1010; ++i) { l2.Add((long)i); } var ibf1 = new IBF(30, hFuncs); var ibf2 = new IBF(30, hFuncs); foreach (var i in l1) { ibf1.Add(i); } foreach (var i in l2) { ibf2.Add(i); } var sub = ibf1 - ibf2; var l1ml2 = new List<long>(); var l2ml1 = new List<long>(); var ret = sub.Decode(l1ml2, l2ml1); var expected = l2.Except(l1).ToList(); expected.Sort(); var actual = l2ml1; actual.Sort(); CollectionAssert.AreEqual(expected, actual); Assert.IsTrue(ret); }
public void TrieTests_EnumerateInOrder() { Trie<char> trie = new Trie<char>(); List<string> items = new List<string>() { "abcd", "abc" }; foreach (string item in items) { trie.Insert(item); } items.Sort(); var actualOrder = trie.EnumerateInOrder().Select(sequence => new string(sequence.ToArray())).ToList(); Assert.IsTrue(items.Except(actualOrder).Count() == 0); Assert.IsTrue(actualOrder.Except(items).Count() == 0); }
public void AddShouldStoreKeysPersistently() { var keys = new List<decimal>(); var hashtable = new HashTable<decimal, string>(); for (int i = 0; i < 1000; i++) { var nextKey = rng.NextDecimal(); hashtable.Add(nextKey, "dinozavyr"); keys.Add(nextKey); } keys.ForEach(x => Assert.IsTrue(hashtable.Keys.Contains(x))); Assert.AreEqual(0, keys.Except(hashtable.Keys).Count()); Assert.AreEqual(0, hashtable.Keys.Except(keys).Count()); }
private void ChangeExports(List<Export> newExports) { using (var atomicComposition = new AtomicComposition()) { atomicComposition.AddCompleteAction(() => this._exports = newExports); atomicComposition.SetValue(this, newExports); var addedExports = newExports.Except(this._exports).Select(export => export.Definition); var removedExports = this._exports.Except(newExports).Select(export => export.Definition); this.OnExportsChanging(new ExportsChangeEventArgs(addedExports, removedExports, atomicComposition)); atomicComposition.AddCompleteAction(() => this.OnExportsChanged( new ExportsChangeEventArgs(addedExports, removedExports, null))); atomicComposition.Complete(); } }
public void AddRemoveItems() { // Arrange IList<int> newList = new List<int>() { 1, 2, 3 }; IList<int> currentList = new List<int>() {1, 3, 4, 5}; IList<int> finalList = currentList; // Act var addedList = newList.Except(currentList).ToList(); var deletedList = currentList.Except(newList).ToList(); addedList.ForEach(x => finalList.Add(x)); deletedList.ForEach(x => finalList.Remove(x)); // Assert Assert.AreEqual(1, addedList.Count()); Assert.AreEqual(2, deletedList.Count()); Assert.AreEqual(3, finalList.Count()); }
public void ListTest() { List<int> l1 = new List<int>(); List<int> l2 = new List<int>(); List<int> expected = new List<int>(); l1.AddRange(new int[] { 1, 2, 3, 4, 5 }); l2.AddRange(new int[] { 4, 5, 6, 7 }); expected.AddRange(new int[] { 1, 2, 3 }); List<int> result = l1.Except(l2).ToList(); Assert.IsTrue( result.All((x) => (l1.Contains(x))) ); foreach (var x in result) { Console.WriteLine(x); } }
public void RandomAllNumbersTest() { HpBuildStrategy builder = new HpBuildStrategy(); var computers = builder.BuildComputers(); Computer pc = computers[0]; List<int> expected = new List<int>(){1,2,3,4,5,6,7,8,9,10}; List<int> generated = new List<int>(); bool allNumbersPresent = false; for (int i = 0; i < 100; i++) { CommandProcessor.ProcessCommand("Play 15", pc, null, null); var value = pc.Ram.LoadValue(); if (!generated.Contains(value)) { generated.Add(value); } } List<int> result = expected.Except(generated).ToList(); Assert.AreEqual(0, result.Count); }
public void Test1() { List<int> list1 = new List<int> { 1, 2 }; List<int> list2 = new List<int> { 1, 3, 4 }; var result = list1.Except(list2).ToArray(); //except 方法返回值一定是原先集合的子集合 //返回2 //這樣可以獲取比原先集合少掉的部分 Assert.AreEqual(result[0], 2); var result2 = list2.Except(list1).ToArray();//返回3,4 //這樣可以獲取比原先集合多的部分 Assert.AreEqual(result2[0], 3); Assert.AreEqual(result2[1], 4); var listAdd = new List<int> { 3, 4 }; var listRemove = new List<int> { 2, -1 }; listAdd.AddRange(list1); foreach (var item in listRemove) { listAdd.Remove(item); } Assert.AreEqual(listAdd.Count, 3); }
public void WhenDisposedAllStreamsDestroyed_BeforeReading() { var createdStreamRegister = new List<Stream>(); var disposedStreamRegister = new List<Stream>(); using (var rollingMemory = (new RollingMemoryBuilder()) .SetupStreamLifecycleImplementation( CreateMemoryWriteStreamFactory(createdStreamRegister), CreateMemoryWriteStreamToReadStreamConverter(null), CreateMemoryStreamDataSourceDisposerFactory(disposedStreamRegister), CreateMemoryStreamDataSourceDisposerFactory(disposedStreamRegister)) .SetStreamLifecycleThresholds( null, null, 0) .SetCurrentDateTimeSource( CreateFixedCurrentDateTimeSource()).Build()) { var testData = new byte[] { 1, 2, 3, 4 }; rollingMemory.WriteStream.Write(testData, 0, testData.Length); } Assert.IsTrue(createdStreamRegister.Except(disposedStreamRegister).Count() == 0); }
public void TestExceptCopy_WithComparison_NullList2_Throws() { IReadOnlySublist<List<int>, int> list1 = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> list2 = null; Func<int, int, int> comparison = Comparer<int>.Default.Compare; list1.Except(list2, comparison); }
public void CompositeDisposable_RemoveOptimizationBehavior() { var g = new CompositeDisposable(); var m = new Dictionary<int, IDisposable>(); var r = new List<int>(); var N = 100; for (int i = 0; i < N; i++) { var j = i; var d = Disposable.Create(() => r.Add(j)); m[j] = d; g.Add(d); } var d1 = Enumerable.Range(0, N).Where(i => i % 2 == 0).ToArray(); foreach (var i in d1) g.Remove(m[i]); Assert.IsTrue(r.SequenceEqual(d1)); var d2 = Enumerable.Range(0, N).Where(i => i % 3 == 0).ToArray(); foreach (var i in d2) g.Remove(m[i]); Assert.IsTrue(r.SequenceEqual(d1.Concat(d2.Where(x => !d1.Any(y => x == y))))); var d3 = Enumerable.Range(0, N).Where(i => i % 5 == 0).ToArray(); foreach (var i in d3) g.Remove(m[i]); Assert.IsTrue(r.SequenceEqual(d1.Concat(d2.Where(x => !d1.Any(y => x == y))).Concat(d3.Where(x => !d1.Any(y => x == y) && !d2.Any(y => x == y))))); g.Dispose(); var z = r.Except(d1.Union(d2).Union(d3)).ToArray(); Assert.IsTrue(z.SequenceEqual(Enumerable.Range(0, N).Where(i => !(i % 2 == 0 || i % 3 == 0 || i % 5 == 0)))); }
public void TestExceptCopy_NullList2_Throws() { IReadOnlySublist<List<int>, int> list1 = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> list2 = null; list1.Except(list2); }
public void TestExceptCopy_WithComparer_NullDestination_Throws() { IReadOnlySublist<List<int>, int> list1 = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> list2 = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> destination = null; IComparer<int> comparer = Comparer<int>.Default; list1.Except(list2, comparer).CopyTo(destination); }
public void BinarySearchTreeTests_Random_Remove() { Random r = new Random(); int n =(r.Next(200)+ 1) * (r.Next(200)+ 1); List<int> expectedKeys = new List<int>(); IBinarySearchTree<int, string> tree = new BinarySearchTree<int, string>(); for (int i = 0; i < n; i++) { int newKey = r.Next(int.MaxValue); expectedKeys.Add(newKey); tree.Insert(newKey, string.Empty); } int k = r.Next((int)Math.Sqrt(n)) + 1; var toRemove = expectedKeys.OrderBy(_ => r.NextDouble()).Take(k); expectedKeys.Sort(); foreach(var key in toRemove) { bool actualResult = tree.Remove(key); expectedKeys.Remove(key); var actualKeys = tree.TraverseInOrder().Select(_ => _.Key); Assert.IsTrue(actualResult); Assert.IsTrue(tree.Count == expectedKeys.Count); Assert.IsTrue(expectedKeys.Except(actualKeys).Count() == 0); Assert.IsTrue(actualKeys.Except(expectedKeys).Count() == 0); } }
public void TestExceptCopy_NullDestination_Throws() { IReadOnlySublist<List<int>, int> list1 = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> list2 = new List<int>().ToSublist(); IExpandableSublist<List<int>, int> destination = null; list1.Except(list2).CopyTo(destination); }
public void CheckDBResults(string instanceName, string query, Object expectedValueObj, bool stopOnFailure, Object customErrorMessage = null) { string expectedValue = CheckNullValue(expectedValueObj, "Check DB Results", stopOnFailure); List<Object> objArrList; List<string> inputTable = new List<string>(); List<string> strArrList = new List<string>(); try { objArrList = GetDBTable(instanceName, query); var regexSplitter = new Regex(@"(?<!\\),"); inputTable.AddRange(regexSplitter.Split(@expectedValue)); List<String> tempInputTable = new List<String>(); foreach (string inputVal in inputTable) { string formattedValue = inputVal.Replace("\\", ""); tempInputTable.Add(formattedValue); } inputTable = tempInputTable; foreach (Object obj in objArrList) { strArrList.Add(obj.ToString()); } IEnumerable<string> differenceQuery = inputTable.Except(strArrList, StringComparer.OrdinalIgnoreCase); List<string> differenceList = differenceQuery.ToList<string>(); if (differenceList.Count > 0) { reportResults( stopOnFailure, "Check DB Results", "Check DB Results command failed. Table data is not as expected : For Query : " + query + " :EXPECTED Value : " + expectedValue + " :Actual Value : " + String.Join(",", strArrList), LogLevel.Error, "", customErrorMessage); } else { reportResults( "Check DB Results", "Check DB Results command passed. For Query : " + query + " :EXPECTED Value " + expectedValue, LogLevel.Success ); } } catch (AssertFailedException e) { throw e; } catch (Exception e) { if (e.Message.StartsWith("Connection instance unavaliable")) { reportResults( stopOnFailure, "Check DB Results", "Check DB Results command failed. Connection : " + instanceName + " is not created. Actual : " + e.Message, LogLevel.Error, e.StackTrace, customErrorMessage); } else { reportResults( stopOnFailure, "Check DB Results", "Check DB Results command failed. Actual : " + e.Message, LogLevel.Error, e.StackTrace, customErrorMessage); } } }
public void QueryDocIdsWithSomeValidAndNonValidIds() { var docIdsToPass = new List<string> { $"T:{ValidDocId}0", $"M:{ValidDocId}1", $"P:{ValidDocId}0", $"{InvalidDocId}{MaxDocIdSetCount + 1}", $"{InvalidDocId}{MaxDocIdSetCount + 2}", $"{InvalidDocId}{MaxDocIdSetCount + 3}" }; var expectedDocIds = new List<string> { $"T:{ValidDocId}0", $"M:{ValidDocId}1", $"P:{ValidDocId}0" }; var result = _OfflineApiPortService.QueryDocIdsAsync(docIdsToPass).Result.Response; Assert.AreEqual(expectedDocIds.Count(), result.Count()); Assert.AreEqual(0, expectedDocIds.Except(result.Select(d => d.Definition.DocId)).Count()); }
public void TestAchievements() { ObjectFactory.Configure(a => a.For<IAchievementRepository>().Singleton().Use<AppDataXmlCompletedAchievementsRepository>()); var achievementRepository = ObjectFactory.GetInstance<IAchievementRepository>(); achievementRepository.LoadFromAssembly(typeof(NRefactoryAchievement).Assembly); var achievementTests = GetType().Assembly.GetTypes().Where(a => a.GetCustomAttributes(typeof (ExpectUnlockAttribute), true).Length > 0); foreach(var test in achievementTests) { var sourceFile = Path.GetFullPath("TestCases/" + test.Name + ".cs"); var buildInformation = new BuildInformation() { ActiveFile = sourceFile, ActiveProject = null, ActiveProjectOutputDirectory = Path.GetDirectoryName(sourceFile), ChangedFiles = new []{sourceFile} }; var expectedAchievements = test.GetCustomAttributes(typeof(ExpectUnlockAttribute), true).Select(a => ((ExpectUnlockAttribute)a).ExpectedAchievementType).ToList(); using (var detectionSession = new DetectionSession(buildInformation)) { var achievements = achievementRepository.GetAchievements().ToList(); var tasks = new Task[achievements.Count()]; var i = 0; var unlockedAchievements = new List<Type>(); foreach (var uncompletedAchievement in achievements) { var a = uncompletedAchievement; tasks[i++] = Task.Factory.StartNew(() => { var achievementType = a.AchievementType; var achievement = (AchievementBase)Activator.CreateInstance(achievementType); var achievementUnlocked = achievement.DetectAchievement(detectionSession); if (achievementUnlocked) { a.CodeLocation = achievement.AchievementCodeLocation; a.IsCompleted = true; unlockedAchievements.Add(achievementType); } }); } Task.WaitAll(tasks); //Test that expected achievements unlocked foreach(var expectedAchievement in expectedAchievements) { Assert.IsTrue(unlockedAchievements.Contains(expectedAchievement), Path.GetFileName(sourceFile) + " did not unlock expected achievement: " + expectedAchievement.FullName); } //Test that only expected achievements unlocked var unexpectedAchievements = unlockedAchievements.Except(expectedAchievements).Except(_globallyIgnoredAchievements).ToList(); Assert.IsTrue(unexpectedAchievements.Count() == 0, Path.GetFileName(sourceFile) + " unlocks unexpected achievements: " + string.Join(", ", unexpectedAchievements.Select(a => a.Name))); } } }
public void GetDepartmentsDictionaryTest() { DepartmentRepository.SaveDepartment(string.Empty, "location1", "name1", string.Empty, string.Empty, 11.11m, 11.11m); DepartmentRepository.SaveDepartment(string.Empty, "location2", "name2", string.Empty, string.Empty, 11.11m, 11.11m); var expected = new List<string> { "location1, name1", "location2, name2" }; Dictionary<string, string> actual = DepartmentRepository.GetDepartmentsDictionary(); Assert.IsTrue(expected.Except(actual.Select(o=>o.Value)).Count() == 0); Assert.IsTrue(actual.Select(o => o.Value).Except(expected).Count() == 0); foreach (KeyValuePair<string, string> keyValuePair in actual) { ObjectId id; Assert.IsTrue(ObjectId.TryParse(keyValuePair.Key, out id)); } }
private int CompareDirectoryWithProjects(List<string> filesToCompile, params string[] projectFiles) { var filesInProject = new List<string>(); this.GetCompileItemsFromProjects(filesInProject, projectFiles); var missingFiles = filesToCompile.Except(filesInProject).ToList(); if (missingFiles.Count > 0) { Console.WriteLine("The following files must be added to {0}", string.Join(";", projectFiles)); foreach (var f in missingFiles) { Console.WriteLine(" {0}", f); } } return missingFiles.Count; }