public void TestEnqueue2() { var task1 = _queue[new LogEntryIndex(1)]; var task2 = _queue[new LogEntryIndex(2)]; var task3 = _queue[new LogEntryIndex(3)]; task1.Should().NotBeNull(); task2.Should().NotBeNull(); task2.Should().NotBeSameAs(task1); task3.Should().NotBeNull(); task3.Should().NotBeSameAs(task1); var accessor = new Accessor(); accessor.Add(1, new LogEntry("1")); accessor.Add(2, new LogEntry("2")); accessor.Add(3, new LogEntry("3")); _queue.ExecuteAll(accessor); task1.IsCompleted.Should().BeTrue(); task1.Result.Should().Be(new LogEntry("1")); task2.IsCompleted.Should().BeTrue(); task2.Result.Should().Be(new LogEntry("2")); task3.IsCompleted.Should().BeTrue(); task3.Result.Should().Be(new LogEntry("3")); }
public void TestEnqueue4() { var task1 = _queue[new LogEntryIndex(1337)]; var task2 = _queue[new LogEntryIndex(1337)]; task2.Should().BeSameAs(task1); var task3 = _queue[new LogEntryIndex(1337)]; task3.Should().BeSameAs(task1); _queue.Count.Should().Be(1, "Because multiple accesses to the same row shall be optimized to one single access"); var row = new LogEntry("42"); var accessor = new Accessor(); accessor.Add(1337, row); _queue.ExecuteOne(accessor); task1.IsCompleted.Should().BeTrue(); task1.Result.Should().Be(row); task2.IsCompleted.Should().BeTrue(); task2.Result.Should().Be(row); task3.IsCompleted.Should().BeTrue(); task3.Result.Should().Be(row); }
public void TestDictionary() { TestClass tc = new TestClass(); Accessor <TestClass> tca = new Accessor <TestClass>(tc, supportsNew: true); KeyValuePair <string, object> kvp1 = new KeyValuePair <string, object>("Key1", 123); KeyValuePair <string, object> kvp2 = new KeyValuePair <string, object>("Key2", 456); KeyValuePair <string, object> kvp3 = new KeyValuePair <string, object>("Key3", 789); Assert.AreEqual(4, tca.Count); tca.Add("PublicAutoProperty", "Value"); Assert.AreEqual(4, tca.Count); Assert.AreEqual("Value", tc.PublicAutoProperty); tca.Add(new KeyValuePair <string, object>("PublicAutoProperty", "Value 2")); Assert.AreEqual(4, tca.Count); Assert.AreEqual("Value 2", tc.PublicAutoProperty); tca.Add(kvp1.Key, kvp1.Value); tca.Add(kvp2); tca.Add(kvp3); Assert.AreEqual(7, tca.Count); Assert.AreEqual(kvp1.Value, tca[kvp1.Key]); Assert.AreEqual(kvp2.Value, tca[kvp2.Key]); Assert.AreEqual(kvp3.Value, tca[kvp3.Key]); Assert.IsTrue(tca.ContainsKey(kvp1.Key)); Assert.IsTrue(tca.Contains(kvp2)); Assert.IsTrue(tca.ContainsKey(kvp3.Key)); tca.Remove(kvp1.Key); Assert.AreEqual(6, tca.Count); Assert.IsFalse(tca.ContainsKey(kvp1.Key)); tca.Remove(kvp2); Assert.AreEqual(5, tca.Count); Assert.IsFalse(tca.ContainsKey(kvp2.Key)); tca.Clear(false); Assert.AreEqual(4, tca.Count); Assert.IsFalse(tca.ContainsKey(kvp3.Key)); }
public void TestEnqueue3() { var task1 = _queue[new LogEntryIndex(1337)]; var task2 = _queue[new LogEntryIndex(1337)]; var task3 = _queue[new LogEntryIndex(1337)]; var row = new LogEntry("42"); var accessor = new Accessor(); accessor.Add(1337, row); _queue.ExecuteAll(accessor); task1.IsCompleted.Should().BeTrue(); task1.Result.Should().Be(row); task2.IsCompleted.Should().BeTrue(); task2.Result.Should().Be(row); task3.IsCompleted.Should().BeTrue(); task3.Result.Should().Be(row); }
public void TestEnqueue5() { var task1 = _queue[new LogEntryIndex(1337)]; var row = new LogEntry("42"); var accessor = new Accessor(); accessor.Add(1337, row); _queue.ExecuteOne(accessor); task1.IsCompleted.Should().BeTrue(); task1.Result.Should().Be(row); _queue.Count.Should().Be(0); var task2 = _queue[new LogEntryIndex(1337)]; task2.Should().NotBeSameAs(task1, "Because completed/cancelled/faulted tasks may not be reused"); task2.IsCompleted.Should().BeFalse(); _queue.ExecuteOne(accessor); task2.IsCompleted.Should().BeTrue(); task2.Result.Should().Be(row); }
public void TestEnqueue1() { var task = _queue[new LogEntryIndex(42)]; task.Should().NotBeNull(); task.IsCanceled.Should().BeFalse(); task.IsCompleted.Should().BeFalse(); task.IsFaulted.Should().BeFalse(); _queue.Count.Should().Be(1); var row = new LogEntry("hello", "world"); var accessor = new Accessor(); accessor.Add(new LogEntryIndex(42), row); _queue.ExecuteOne(accessor); task.IsCanceled.Should().BeFalse(); task.IsFaulted.Should().BeFalse(); task.IsCompleted.Should().BeTrue(); task.Result.Should().Be(row, "Because the task should've returned the result passed by the factory"); _queue.Count.Should().Be(0, "Because the only pending task should've been executed"); }
public void TestDictionary() { TestClass tc = new TestClass(); Accessor<TestClass> tca = new Accessor<TestClass>(tc, supportsNew: true); KeyValuePair<string, object> kvp1 = new KeyValuePair<string, object>("Key1", 123); KeyValuePair<string, object> kvp2 = new KeyValuePair<string, object>("Key2", 456); KeyValuePair<string, object> kvp3 = new KeyValuePair<string, object>("Key3", 789); Assert.AreEqual(4, tca.Count); tca.Add("PublicAutoProperty", "Value"); Assert.AreEqual(4, tca.Count); Assert.AreEqual("Value", tc.PublicAutoProperty); tca.Add(new KeyValuePair<string, object>("PublicAutoProperty", "Value 2")); Assert.AreEqual(4, tca.Count); Assert.AreEqual("Value 2", tc.PublicAutoProperty); tca.Add(kvp1.Key, kvp1.Value); tca.Add(kvp2); tca.Add(kvp3); Assert.AreEqual(7, tca.Count); Assert.AreEqual(kvp1.Value, tca[kvp1.Key]); Assert.AreEqual(kvp2.Value, tca[kvp2.Key]); Assert.AreEqual(kvp3.Value, tca[kvp3.Key]); Assert.IsTrue(tca.ContainsKey(kvp1.Key)); Assert.IsTrue(tca.Contains(kvp2)); Assert.IsTrue(tca.ContainsKey(kvp3.Key)); tca.Remove(kvp1.Key); Assert.AreEqual(6, tca.Count); Assert.IsFalse(tca.ContainsKey(kvp1.Key)); tca.Remove(kvp2); Assert.AreEqual(5, tca.Count); Assert.IsFalse(tca.ContainsKey(kvp2.Key)); tca.Clear(false); Assert.AreEqual(4, tca.Count); Assert.IsFalse(tca.ContainsKey(kvp3.Key)); }
static void Main(string[] args) { try { SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); builder.DataSource = "vitaliiserver.database.windows.net"; builder.UserID = "vitalii24"; builder.Password = "******"; builder.InitialCatalog = "storeDb"; using (SqlConnection connection = new SqlConnection(builder.ConnectionString)) { Console.WriteLine("\nQuery data example:"); Console.WriteLine("=========================================\n"); connection.Open(); StringBuilder sb = new StringBuilder(); sb.Append("SELECT i.Name "); sb.Append("FROM [Item] as i "); String sql = sb.ToString(); using (SqlCommand command = new SqlCommand(sql, connection)) { using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine("{0} ", reader.GetString(0)); } } } } } catch (SqlException e) { Console.WriteLine(e.ToString()); } Console.ReadLine(); //--------------------------Working via data layer------- string connectionString = ConfigurationManager.ConnectionStrings["Data"].ConnectionString; Accessor con = new Accessor(connectionString); con.Add(new Item { Name = "Track" }).Wait(); con.Delete(4).Wait(); con.Delete(5).Wait(); con.Update(6, new Item { Name = "CAR" }).Wait(); Item[] items = con.GetAll().Result; foreach (Item i in items) { Console.WriteLine("ItemID = {0}, ItemName = {1}", i.ItemId, i.Name); } Console.WriteLine("Completed"); Console.ReadKey(); }