From 87361e2613f0fcd6879a49df31fae75dc5c4b05b Mon Sep 17 00:00:00 2001 From: TLambert18 Date: Fri, 27 Jan 2017 15:44:40 -0600 Subject: [PATCH] Training Solutions (Part 1 & 2 complete) --- DesignPatternsSolution/Execise.Tests/UnitTests.cs | 12 ++++++++++++ DesignPatternsSolution/Exercise/BookBorrowable.cs | 9 +++++++-- DesignPatternsSolution/Exercise/Item.cs | 1 + DesignPatternsSolution/Exercise/LibObject.cs | 14 +++++++++++++- DesignPatternsSolution/Exercise/Library.cs | 11 +++++------ 5 files changed, 38 insertions(+), 9 deletions(-) diff --git a/DesignPatternsSolution/Execise.Tests/UnitTests.cs b/DesignPatternsSolution/Execise.Tests/UnitTests.cs index 0a3b80e..8eedfdf 100644 --- a/DesignPatternsSolution/Execise.Tests/UnitTests.cs +++ b/DesignPatternsSolution/Execise.Tests/UnitTests.cs @@ -12,18 +12,30 @@ public void LibraryShouldBeSingleton() { //check that when you create a Library instance second time, //you get exactly the same instance as for a very first time + var L1 = Library.getInstance(); + var L2 = Library.getInstance(); + + Assert.AreEqual(L1, L2); } //test that an book was registered successfully by checking the returned Id value is not -1 [TestMethod] public void BookShouldRegister() { + Book B1 = new Book("Hello", "World", 2017, 10); + int result = RegistrationRepository.Register(B1); + + Assert.AreNotEqual(-1, result); } //test that an customer was registered successfully by checking the returned Id value is not -1 [TestMethod] public void CustomerShouldRegister() { + Customer C1 = new Customer("Troy", "Winnipeg"); + int result = RegistrationRepository.Register(C1); + + Assert.AreNotEqual(-1, result); } //test that a book can be borrowed diff --git a/DesignPatternsSolution/Exercise/BookBorrowable.cs b/DesignPatternsSolution/Exercise/BookBorrowable.cs index 21bd9cf..d511c89 100644 --- a/DesignPatternsSolution/Exercise/BookBorrowable.cs +++ b/DesignPatternsSolution/Exercise/BookBorrowable.cs @@ -1,7 +1,12 @@ namespace Exercise { - public class BookBorrowable + public class BookBorrowable { - + BookBorrowable borrowable; + + public void BorrowOne() + { + + } } } diff --git a/DesignPatternsSolution/Exercise/Item.cs b/DesignPatternsSolution/Exercise/Item.cs index 92c21e1..14d04c7 100644 --- a/DesignPatternsSolution/Exercise/Item.cs +++ b/DesignPatternsSolution/Exercise/Item.cs @@ -12,6 +12,7 @@ public Item(int amount, int year) public class Book : Item { + public Book(string author, string title, int year, int amount) : base(amount, year) { NameOrTitle = title; diff --git a/DesignPatternsSolution/Exercise/LibObject.cs b/DesignPatternsSolution/Exercise/LibObject.cs index cf1e2bb..a47c2f5 100644 --- a/DesignPatternsSolution/Exercise/LibObject.cs +++ b/DesignPatternsSolution/Exercise/LibObject.cs @@ -1,12 +1,22 @@ namespace Exercise { - public abstract class LibObject + public abstract class LibObject : IRegistarable { public int ObjectId { get; set; } public int AvailableAmount { get; set; } public string NameOrTitle { get; set; } public ObjectType ObjType { get; set; } public int YearCreated { get; set; } + + public RegisteredObject GetRegistrationInfo() + { + return new RegisteredObject() + { + Info = NameOrTitle, + AvailableAmount = AvailableAmount, + Id = ObjectId + }; + } } public enum ObjectType @@ -14,4 +24,6 @@ public enum ObjectType Person, Item } + + } diff --git a/DesignPatternsSolution/Exercise/Library.cs b/DesignPatternsSolution/Exercise/Library.cs index 1d9dde4..ca29e0a 100644 --- a/DesignPatternsSolution/Exercise/Library.cs +++ b/DesignPatternsSolution/Exercise/Library.cs @@ -3,16 +3,15 @@ public class Library { //implement Singleton to make sure only one library will exist + static Library instance = new Library(); - + private Library() { } + public static Library getInstance() { return instance; } //Implement Register method by utilizing RegistrationRepository (complete missing parts) - public int Register() + public int Register(IRegistarable registarable) { - // return RegistrationRepository.Register(); - - //dummy, just to compile - return 0; + return RegistrationRepository.Register(registarable); } } }