public void Test_Expense_Find() { #region Arrange var ac = new AccountConnector(); if (ac.Get(0123) == null) //account 123 does not exist { ac.Create(new Account() { Number = 0123, Description = "TmpAccount" }); } #endregion Arrange var timeStamp = DateTime.Now; var remark = TestUtils.RandomString(); var newExpense = new Expense() { Text = remark, Account = 0123 }; IExpenseConnector connector = new ExpenseConnector(); for (var i = 0; i < 2; i++) { newExpense.Code = TestUtils.RandomString(6); connector.Create(newExpense); MyAssert.HasNoError(connector); } connector.Search.LastModified = timeStamp; //does not seem to work connector.Search.Limit = 500; var expensesCollection = connector.Find(); var filteredExpenses = expensesCollection.Entities.Where(x => x.Text == remark).ToList(); MyAssert.HasNoError(connector); Assert.AreEqual(2, filteredExpenses.Count); Assert.IsNotNull(filteredExpenses.First().Url); #region Delete arranged resources ac.Delete(0123); MyAssert.HasNoError(ac); #endregion Delete arranged resources }
static string PlayerNameMap(int value) { char[] baseChars = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; MyAssert.Assert(value >= 0); string result = string.Empty; int targetBase = baseChars.Length; do { result = baseChars[value % targetBase] + result; value = value / targetBase; }while (value > 0); return(result); }
public void Park1Mc100VehiclesTest() { // Setup string[] park = PopulateParkingPlace(100); park[0] = "abc123:uyt345"; park[1] = ":dbc423"; string[] expected = PopulateParkingPlace(100); expected[0] = "abc123:uyt345"; expected[1] = "8toi43:dbc423"; int expectedPosition = 1; int actualPosition; //Act actualPosition = Parking.Add(park, "8toi43", VehicleType.Mc); // Verify MyAssert.AreEqual(expected, park); Assert.AreEqual(expectedPosition, actualPosition); }
void NewPlayerProcess(IPEndPoint clientAddr, Guid id, int generation, PlayerData pd) { MyAssert.Assert(!playerLocks.Contains(id)); ManualLock <Guid> lck = new ManualLock <Guid>(playerLocks, id); if (!validatorPool.Any()) { throw new Exception("no validators!"); } string playerName = PlayerNameMap(playerCounter++); string fullName = "player " + playerName + (generation == 0 ? "" : " (" + generation + ")"); OverlayEndpoint validatorHost = new OverlayEndpoint(validatorPool.Random(n => r.Next(n)), new OverlayHostName("validator " + fullName)); OverlayEndpoint playerNewHost = new OverlayEndpoint(clientAddr, new OverlayHostName("agent " + fullName)); OverlayEndpoint playerClient = new OverlayEndpoint(clientAddr, Client.hostName); OverlayEndpoint validatorClient = new OverlayEndpoint(validatorHost.addr, Client.hostName); PlayerInfo playerInfo = new PlayerInfo(id, playerNewHost, validatorHost, playerName, generation); RemoteAction .Send(Host, validatorClient, ProcessClientDisconnect, MessageType.PLAYER_VALIDATOR_ASSIGN, playerInfo, pd) .Respond(remoteActions, lck, (res, stm) => { if (playerInfo.generation == 0) { MyAssert.Assert(!players.ContainsKey(playerInfo.id)); players.Add(playerInfo.id, playerInfo); } else { MyAssert.Assert(players.ContainsKey(playerInfo.id)); players[playerInfo.id] = playerInfo; } MessageClient(playerClient, MessageType.NEW_PLAYER_REQUEST_SUCCESS, playerInfo); Log.Console("New player " + playerInfo.name + " validated by " + playerInfo.validatorHost.addr); }); }
public void TestPerformArchiveAndZip() { const string ZipFilename = @"c:\temp\Stf\StfArchiver.zip"; if (File.Exists(ZipFilename)) { File.Delete(ZipFilename); } MyAssert.FileNotExists("Deleted file should not exist", ZipFilename); MyArchiver.Configuration.ZipFilename = ZipFilename; MyArchiver.Configuration.DoArchiveFoldersAndFiles = false; MyArchiver.Configuration.DoArchiveToZipfile = true; MyArchiver.AddDirectory(@"C:\Temp\Stf\Config"); MyArchiver.PerformArchive(); MyAssert.FileExists("Zip file should exist", ZipFilename); }
public void WriteBooleanTest() { MemoryStream output = new MemoryStream(); BigEndianBinaryWriter target = new BigEndianBinaryWriter(new StreamAdapter(output)); // false bool data = false; target.Write(data); byte[] expected = new byte[] { 0, 0, 0, 0 }; // 0 = false byte[] actual = output.ToArray(); MyAssert.AreEqual(expected, actual); // true output.Position = 0; data = true; target.Write(data); expected = new byte[] { 0, 0, 0, 1 }; // otherwise true actual = output.ToArray(); MyAssert.AreEqual(expected, actual); }
public void Test_Upload_Download_Delete_From_Static_Folder() { IArchiveConnector connector = new ArchiveConnector(); var data = Resource.fortnox_image; var randomFileName = TestUtils.RandomString() + ".txt"; var fortnoxFile = connector.UploadFile(randomFileName, data, StaticFolders.SupplierInvoices); MyAssert.HasNoError(connector); var fileData = connector.DownloadFile(fortnoxFile.Id); MyAssert.HasNoError(connector); CollectionAssert.AreEqual(data, fileData); connector.DeleteFile(fortnoxFile.Id); MyAssert.HasNoError(connector); }
public void Park3McMcTest() { // Setup string[] park = new string[2]; park[0] = "abc123:uyt345"; park[1] = ":dbc423"; string[] expected = new string[2]; expected[0] = "abc123:uyt345"; expected[1] = "1poi43:dbc423"; int expectedPosition = 1; int actualPosition; //Act actualPosition = Parking.Add(park, "1poi43", VehicleType.Mc); // Verify MyAssert.AreEqual(expected, park); Assert.AreEqual(expectedPosition, actualPosition); }
public void Test_File_Upload_Download_Delete() { IArchiveConnector connector = new ArchiveConnector(); var data = Resource.fortnox_image; var randomFileName = TestUtils.RandomString() + ".txt"; var fortnoxFile = connector.UploadFile(randomFileName, data, testRootFolder.Name); MyAssert.HasNoError(connector); var fileData = connector.DownloadFile(fortnoxFile.Id); MyAssert.HasNoError(connector); CollectionAssert.AreEqual(data, fileData); connector.DeleteFile(fortnoxFile.Id); MyAssert.HasNoError(connector); }
public void Test_Find() { IWayOfDeliveryConnector connector = new WayOfDeliveryConnector(); var existingCount = connector.Find().Entities.Count; var testKeyMark = TestUtils.RandomString(); var createdEntries = new List <WayOfDelivery>(); //Add entries for (var i = 0; i < 5; i++) { var createdEntry = connector.Create(new WayOfDelivery() { Code = TestUtils.RandomString(), Description = testKeyMark }); createdEntries.Add(createdEntry); } //Filter not supported var fullCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(existingCount + 5, fullCollection.Entities.Count); Assert.AreEqual(5, fullCollection.Entities.Count(e => e.Description == testKeyMark)); //Apply Limit connector.Limit = 2; var limitedCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(existingCount + 5, limitedCollection.TotalResources); Assert.AreEqual(2, limitedCollection.Entities.Count); //Delete entries foreach (var entry in createdEntries) { connector.Delete(entry.Code); } }
public void Test_ContractTemplate_Find() { #region Arrange var tmpArticle = new ArticleConnector().Create(new Article() { Description = "TmpArticle" }); #endregion Arrange IContractTemplateConnector connector = new ContractTemplateConnector(); var marks = TestUtils.RandomString(); var newContractTemplate = new ContractTemplate() { ContractLength = 4, Continuous = false, InvoiceInterval = 3, InvoiceRows = new List <ContractTemplateInvoiceRow>() { new ContractTemplateInvoiceRow() { ArticleNumber = tmpArticle.ArticleNumber, DeliveredQuantity = 10 } }, }; for (int i = 0; i < 5; i++) { newContractTemplate.TemplateName = marks + i; connector.Create(newContractTemplate); MyAssert.HasNoError(connector); } connector.LastModified = DateTime.Now.AddMinutes(-5); var templates = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(5, templates.Entities.Count(c => c.TemplateName.StartsWith(marks))); //No delete supported }
public void TestRestartManagerManualShutdown() { var ReplacementProcessCopy = ReplacementProcess + "2"; File.Copy(ReplacementProcess, ReplacementProcessCopy, true); //Start up the service and TRY to move the file. It should fail Process proc = Process.Start(ReplacementProcess); //We're hoping this will fail, as the process SHOULD be holding onto this guy MyAssert.ThrowsException(() => File.Copy(ReplacementProcessCopy, ReplacementProcess, true)); //Now startup the restart manager and lets hope the process will be restarted. RestartManagerExtendedSession manager = new RestartManagerExtendedSession(); manager.ManualRestartProcesses.Add(ReplacementProcess); manager.StartSession(); manager.RegisterResources(new List <string>() { ReplacementProcess }); RM_REBOOT_REASON rebootReason = default(RM_REBOOT_REASON); var processes = RestartManager.RmProcessToNetProcess(manager.GetList(ref rebootReason)); Assert.IsTrue(rebootReason == RM_REBOOT_REASON.RmRebootReasonNone); Assert.IsTrue(processes.Count > 0); //After shutdown, the file should be copyable manager.Shutdown(); ThreadingServices.WaitOnAction(() => File.Copy(ReplacementProcessCopy, ReplacementProcess, true), TimeSpan.FromSeconds(3)); //Now try to restart everything manager.Restart(); //We're hoping this will fail, as the service SHOULD be holding onto this guy again MyAssert.ThrowsException(() => ThreadingServices.WaitOnAction(() => File.Copy(ReplacementProcessCopy, ReplacementProcess, true), TimeSpan.FromSeconds(2))); manager.EndSession(); System.Diagnostics.Process.GetProcessesByName(ReplacementProcess.Replace(".exe", "")).ToList().ForEach(x => x.Kill()); }
protected override void ProcessWorldMessage(MessageType mt, Stream stm, Node n, WorldInfo inf) { if (mt == MessageType.LOCK_VAR) { Guid remoteActionId = Serializer.Deserialize <Guid>(stm); OnLock(n, remoteActionId); } else if (mt == MessageType.UNLOCK_VAR) { RemoteAction.Process(ref locked, n, stm); if (finalizing) { MyAssert.Assert(locked == null); OnFinalizedVerifier(); } } else { if (finalizing) { Log.Dump(info, " finalizing - ignored message:", mt); return; } if (mt == MessageType.PICKUP_TELEPORT) { ProcessOrDelay(OnPickupTeleport); } else if (mt == MessageType.PICKUP_BLOCK) { ProcessOrDelay(OnPickupBlock); } else if (mt == MessageType.PLAYER_DISCONNECT) { ProcessOrDelay(OnDisconnect); } else { throw new Exception(Log.StDump(info, inf, mt, "unexpected message")); } } }
public void Test_Find() { IPredefinedAccountsConnector connector = new PredefinedAccountsConnector(); var fullCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(42, fullCollection.Entities.Count); Assert.IsNotNull(fullCollection.Entities.First().Name); connector.Limit = 2; var limitedCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(2, limitedCollection.Entities.Count); Assert.AreEqual(42, limitedCollection.TotalResources); //Limit not supported }
public void Test_ManyRequests() { IArchiveConnector connector = new ArchiveConnector(); for (int i = 0; i < 20; i++) { var data = Resource.fortnox_image; var randomFileName = TestUtils.RandomString() + ".txt"; var fortnoxFile = connector.UploadFile(randomFileName, data, StaticFolders.Root); MyAssert.HasNoError(connector); var fileData = connector.DownloadFile(fortnoxFile.Id); MyAssert.HasNoError(connector); CollectionAssert.AreEqual(data, fileData); connector.DeleteFile(fortnoxFile.Id); MyAssert.HasNoError(connector); } }
public void ListParkedVehicles1Test() { // Setup string[] park = new string[2]; park[0] = ":lk433"; park[1] = "dbc423:lk433"; Dictionary <int, string> expected = new Dictionary <int, string>(); expected.Add(0, ":lk433"); expected.Add(1, "dbc423:lk433"); Dictionary <int, string> actual; //Act actual = Parking.ListParkedVehicels(park); //Verify MyAssert.AreEqual(expected, actual); }
public void OddNumberFails() { try { MyAssert.IsOdd(28); Assert.Fail("An AssertionException was expected but not thrown"); } catch (AssertionException ae) { Assert.AreEqual(ae.Message, "\texpected: odd number" + System.Environment.NewLine + "\tactual: <28>", "AssertionException thrown with incorrect message"); } catch (Exception ex) { Assert.Fail("Expected AssertionException but caught: " + ex.ToString()); } }
public void ReadWriteBytesTest() { MemoryStream ms = new MemoryStream(); // serialize some data XmlWriterMock writer = new XmlWriterMock(new StreamAdapter(ms)); byte[] arr = new byte[] { 1, 2, 3, 5, 6, 7, 8, 9, 0 }; writer.Write(arr); ms.Position = 0; string actual = Encoding.UTF8.GetString(ms.ToArray()); string expected = "<array>1,2,3,5,6,7,8,9,0</array>"; Assert.AreEqual(actual, expected); // deserialize serialized data XmlReaderMock reader = new XmlReaderMock(new StreamAdapter(ms)); byte[] res = reader.ReadBytes(arr.Length); MyAssert.AreEqual(arr, res); }
private void PlaceBlock(Point pos) { ITile t = this[pos]; MyAssert.Assert(t.Solid); MyAssert.Assert(walls[pos] == null); GameObject wall = GameObject.CreatePrimitive(PrimitiveType.Cube); walls[pos] = wall; wall.transform.position = minecraft.GetPositionAtGrid(Position, pos); if (!t.Spawn) { wall.renderer.material.color = new Color((float)t.Block.R / 255, (float)t.Block.G / 255, (float)t.Block.B / 255); } else { wall.renderer.material.color = Color.yellow; } }
public void ParkGoodCustomPlateMcTest() { // Setup string[] park = new string[2]; park[0] = ":lk433"; park[1] = "dbc423:lk433"; string[] expected = new string[2]; expected[0] = GoodCustomPlateRegistrationNumber + ":lk433"; expected[1] = "dbc423:lk433"; int expectedPosition = 0; int actualPosition; //Act actualPosition = Parking.Add(park, GoodCustomPlateRegistrationNumber, VehicleType.Mc); //Verify MyAssert.AreEqual(expected, park); Assert.AreEqual(expectedPosition, actualPosition); }
public void TestForceSingleInstance() { int myValue = 10; AutoResetEvent firstTaskSignal = new AutoResetEvent(false); //The first task just waits around for 2 seconds, then sets a value. It SHOULD be able to lock Task firstTask = Task.Run(() => { ThreadingServices.LockGlobalMutexDuringAction(() => { firstTaskSignal.Set(); System.Threading.Thread.Sleep(2000); myValue = 20; }, TimeSpan.FromSeconds(1)); }); firstTaskSignal.WaitOne(); Assert.IsTrue(myValue == 10); //The second task immediately tries to set the value, HOWEVER since hte first task is still technically //running, the second task SHOULD throw an exception. MyAssert.ThrowsException(() => { ThreadingServices.LockGlobalMutexDuringAction(() => myValue = 30, TimeSpan.FromSeconds(1)); }); Assert.IsTrue(myValue == 10); //Now just wait for the first to exit and ensure the value is updated accordingly firstTask.Wait(); Assert.IsTrue(myValue == 20); }
void OnSpawnRequest(Guid playerId) { MyAssert.Assert(players.ContainsKey(playerId)); PlayerInfo inf = players[playerId]; var spawnWorlds = (from wi in worlds.Values where wi.hasSpawn select wi.position).ToList(); if (!spawnWorlds.Any()) { Log.Dump("No spawn worlds", inf); return; } Point spawnWorldPos = spawnWorlds.Random(n => r.Next(n)); WorldInfo spawnWorld = worlds.GetValue(spawnWorldPos); MessageWorld(spawnWorld, MessageType.SPAWN_REQUEST, inf); }
public void MovePositionMc1Test() { // Setup string[] park = new string[4]; park[0] = null; park[1] = "8toi43"; park[2] = "abc213:tre765"; park[3] = null; string[] expected = new string[4]; expected[0] = null; expected[1] = "8toi43"; expected[2] = ":tre765"; expected[3] = ":abc213"; //Act Parking.Move(park, "abc213", VehicleType.Mc, 2, 3); //Verify MyAssert.AreEqual(expected, park); }
public void Park1McCarNullTest() { // Setup string[] park = new string[2]; park[0] = null; park[1] = "dbc423:lk433"; string[] expected = new string[2]; expected[0] = "8toi43" + "," + DateTime.Now; expected[1] = "dbc423:lk433"; int expectedPosition = 0; int actualPosition; //Act actualPosition = Parking.Add(park, "8toi43", VehicleType.Car); //Verify MyAssert.AreEqual(expected, park); Assert.AreEqual(expectedPosition, actualPosition); }
public void Test_Upload_From_Local_System() { IArchiveConnector connector = new ArchiveConnector(); //Arrange var data = Resource.fortnox_image; var localFilePath = TestUtils.GenerateTmpFilePath(); File.WriteAllBytes(localFilePath, data); //Act var fortnoxFile = connector.UploadFile(localFilePath, testRootFolder.Name); MyAssert.HasNoError(connector); Assert.AreEqual(data.Length, int.Parse(fortnoxFile.Size)); //Clean File.Delete(localFilePath); connector.DeleteFile(fortnoxFile.Id); MyAssert.HasNoError(connector); }
public void Test_Find() { ITermsOfDeliveryConnector connector = new TermsOfDeliveryConnector(); var newTermsOfDelivery = new TermsOfDelivery() { Description = "TestDeliveryTerms" }; //Add entries for (var i = 0; i < 5; i++) { newTermsOfDelivery.Code = TestUtils.RandomString(); connector.Create(newTermsOfDelivery); MyAssert.HasNoError(connector); } //Filter not supported connector.LastModified = DateTime.Now.AddMinutes(-5); var fullCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(5, fullCollection.Entities.Count); Assert.AreEqual("TestDeliveryTerms", fullCollection.Entities[0].Description); //Apply Limit connector.Limit = 2; var limitedCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(2, limitedCollection.Entities.Count); //Delete entries foreach (var entry in fullCollection.Entities) { connector.Delete(entry.Code); } }
public void HouseWorkArticle_Empty() { var connector = new ArticleConnector(); var article = connector.Create(new Article() { Description = "HouseworkArticleTest", Housework = true, HouseworkType = HouseworkType.Cleaning }); MyAssert.HasNoError(connector); Assert.AreEqual(HouseworkType.Cleaning, article.HouseworkType); article.HouseworkType = HouseworkType.Empty; var updatedArticle = connector.Update(article); MyAssert.HasNoError(connector); Assert.AreEqual(null, updatedArticle.HouseworkType); connector.Delete(article.ArticleNumber); MyAssert.HasNoError(connector); }
private void AddPlayer(PlayerInfo player) { MyAssert.Assert(HasPlayer(player.id)); Point pos = base.GetPlayerPosition(player.id); GameObject avatar = GameObject.CreatePrimitive(PrimitiveType.Sphere); var r = new MyRandom(BitConverter.ToInt32(player.id.ToByteArray(), 0)); avatar.renderer.material.color = new Color( (float)r.NextDouble(), (float)r.NextDouble(), (float)r.NextDouble()); avatar.transform.position = minecraft.GetPositionAtGrid(Position, pos); playerAvatars.Add(player.id, avatar); updateCamera(player.id, avatar); //if (player.id == main.me) // main.UpdateCamera(avatar); }
public void Test_Find() { IUnitConnector connector = new UnitConnector(); var existingCount = connector.Find().TotalResources; var marks = TestUtils.RandomString(); var createdEntries = new List <Unit>(); //Add entries for (var i = 0; i < 5; i++) { var createdEntry = connector.Create(new Unit() { Code = marks + i, Description = TestUtils.RandomString() }); createdEntries.Add(createdEntry); } //Filter not supported var fullCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(existingCount + 5, fullCollection.TotalResources); Assert.AreEqual(5, fullCollection.Entities.Count(x => x.Code.StartsWith(marks))); //Limit not supported connector.Search.Limit = 2; var limitedCollection = connector.Find(); Assert.AreEqual(2, limitedCollection.Entities.Count); //Delete entries foreach (var entry in createdEntries) { connector.Delete(entry.Code); } }
public void Test_PredefinedVoucherSeries_CRUD() { IPredefinedVoucherSeriesConnector connector = new PredefinedVoucherSeriesConnector(); //Get var predefinedVoucherSeries = connector.Get("INVOICE"); MyAssert.HasNoError(connector); Assert.AreEqual("B", predefinedVoucherSeries.VoucherSeries); //Update predefinedVoucherSeries.VoucherSeries = "L"; //Lon -> "SALARY" connector.Update(predefinedVoucherSeries); MyAssert.HasNoError(connector); Assert.AreEqual("L", predefinedVoucherSeries.VoucherSeries); //Reset predefinedVoucherSeries.VoucherSeries = "B"; connector.Update(predefinedVoucherSeries); MyAssert.HasNoError(connector); Assert.AreEqual("B", predefinedVoucherSeries.VoucherSeries); }