public void AddOpp()
        {
            var t      = new Table();
            var reader = new TestReader(null, new Record(1, 2, 3, 4, 5, 6, 7));
            var add    = new AddOperation(t, reader);

            add.Execute();

            Assert.AreEqual(1, t.Count);
            Assert.AreEqual(new Record(1, 2, 3, 4, 5, 6, 7), t[1]);

            reader = new TestReader(null, new Record("abc", "def", 11, 12, 13, 14, 15));
            add    = new AddOperation(t, reader);
            add.Execute();

            Assert.AreEqual(2, t.Count);
            Assert.AreEqual(new Record(1, 2, 3, 4, 5, 6, 7), t[1]);
            Assert.AreEqual(new Record("abc", "def", 11, 12, 13, 14, 15), t[2]);
            // TODO: Check hints sent to reader

            reader = new TestReader(1, new Record("x", "y", "z", 100, 101, 102, 103, "www"));
            add    = new AddOperation(t, reader);
            add.Execute();

            Assert.AreEqual(3, t.Count);
            Assert.AreEqual(new Record(1, 2, 3, 4, 5, 6, 7), t[1]);
            Assert.AreEqual(new Record("x", "y", "z", 100, 101, 102, 103, "www"), t[2]);
            Assert.AreEqual(new Record("abc", "def", 11, 12, 13, 14, 15), t[3]);
        }
        public void RemoveOp()
        {
            var t = new Table();

            t.Add(new Record(1, 2, 3));
            t.Add(new Record(4, 5, 6));
            t.Add(new Record(7, 8, 9));

            var reader = new TestReader(1);
            var op     = new RemoveOperation(t, reader);

            op.Execute();
            Assert.AreEqual(2, t.Count);
            Assert.AreEqual(new Record(4, 5, 6), t[1]);
            Assert.AreEqual(new Record(7, 8, 9), t[2]);

            reader = new TestReader(2);
            op     = new RemoveOperation(t, reader);
            op.Execute();
            Assert.AreEqual(1, t.Count);
            Assert.AreEqual(new Record(4, 5, 6), t[1]);

            reader = new TestReader(1);
            op     = new RemoveOperation(t, reader);
            op.Execute();
            Assert.AreEqual(0, t.Count);
        }
Exemple #3
0
        public void ReadOpp()
        {
            var reader = new TestReader(1);
            var writer = new TestWriter();
            var opp    = new ReadOperation(_t, reader, writer);

            opp.Execute();
            Assert.AreEqual(new Record(1, 2, 3), writer.Output);
        }
Exemple #4
0
        public void ReadTable()
        {
            // TODO: TestReader(null) creates a reader with empty arguments list
            var reader = new TestReader(null, null);
            var writer = new TestWriter();
            var opp    = new ReadOperation(_t, reader, writer);

            opp.Execute();
            Assert.AreEqual(_t, writer.Output);
        }
Exemple #5
0
        public void UpdateOpp()
        {
            var t = new Table();

            t.Add(new Record(1, 2, 3));
            t.Add(new Record("a", "b", 4));

            var reader = new TestReader(new Tuple <int, char>(1, 'A'), "xyz");
            var op     = new UpdateOperation(t, reader);

            op.Execute();
            Assert.AreEqual("xyz", t[1, 'A'].Str);

            reader = new TestReader(new Tuple <int, char>(2, 'B'), 100);
            op     = new UpdateOperation(t, reader);
            op.Execute();
            Assert.AreEqual(100, t[2, 'B'].Num);
        }