コード例 #1
0
        public void RemoveKindOfGoods()
        {
            var kindOfGoods = new KindOfGoods {
                UId = Guid.NewGuid().ToString(), Name = "kind 01", Customized = true
            };
            var receiptDb = new ReceiptDb();

            receiptDb.Save(kindOfGoods);
            receiptDb.RemoveKindOfGoods(kindOfGoods.UId);

            Assert.IsFalse(receiptDb.GetAllKindsOfGoods().Any(k => k.UId.Equals(kindOfGoods.UId)));
            Assert.IsFalse(new ReceiptDb().GetAllKindsOfGoods().Any(k => k.UId.Equals(kindOfGoods.UId)));
        }
コード例 #2
0
        public void AddKindOfGoods()
        {
            // todo. test case run failed.
            var kindsOfGoods = new[]
            {
                new KindOfGoods {
                    UId = Guid.NewGuid().ToString(), Name = "added kind 01", Customized = true
                },
                new KindOfGoods {
                    UId = Guid.NewGuid().ToString(), Name = "added kind 02", Customized = true
                }
            };
            var receiptDb = new ReceiptDb();

            try
            {
                receiptDb.GetAllKindsOfGoods().Where(k => k.Name.StartsWith("added kind ")).Select(k => k.UId).ToList().ForEach(u => receiptDb.RemoveKindOfGoods(u));
            }
            catch
            {
            }

            // add one
            receiptDb.Save(kindsOfGoods[0]);
            Assert.AreEqual(1, receiptDb.GetAllKindsOfGoods().Where(k => k.Name.StartsWith("added kind ")).Count());
            Assert.AreEqual(1, new ReceiptDb().GetAllKindsOfGoods().Where(k => k.Name.StartsWith("added kind ")).Count());
            var actual = receiptDb.GetAllKindsOfGoods().First(k => k.UId.Equals(kindsOfGoods[0].UId));

            this.AssertAreEqual(kindsOfGoods[0], actual);
            actual = new ReceiptDb().GetAllKindsOfGoods().First(k => k.UId.Equals(kindsOfGoods[0].UId));
            this.AssertAreEqual(kindsOfGoods[0], actual);

            // add another
            receiptDb.Save(kindsOfGoods[1]);
            Assert.AreEqual(2, receiptDb.GetAllKindsOfGoods().Where(k => k.Name.StartsWith("added kind ")).Count());
            Assert.AreEqual(2, new ReceiptDb().GetAllKindsOfGoods().Where(k => k.Name.StartsWith("added kind ")).Count());
            actual = receiptDb.GetAllKindsOfGoods().First(k => k.UId.Equals(kindsOfGoods[1].UId));
            this.AssertAreEqual(kindsOfGoods[1], actual);
            actual = new ReceiptDb().GetAllKindsOfGoods().First(k => k.UId.Equals(kindsOfGoods[1].UId));
            this.AssertAreEqual(kindsOfGoods[1], actual);
        }
コード例 #3
0
        public void VerifyThatShouldThrowWhileRemovingAnInUsedKind()
        {
            var kindOfGoods = new KindOfGoods {
                UId = Guid.NewGuid().ToString(), Name = "kind 01", Customized = true
            };
            var receiptDb = new ReceiptDb();

            receiptDb.Save(kindOfGoods);
            var receipt = this.GetTestReceipts()[0];

            receipt.KindOfGoods = kindOfGoods;
            receiptDb.Save(receipt);

            this.AssertHasException <InvalidOperationException>(String.Format("The kind [{0}] is currently in used, cannot be removed", kindOfGoods.UId), () => receiptDb.RemoveKindOfGoods(kindOfGoods.UId));
        }