Exemple #1
0
        public void AddGuitar(string serialNumber, double price, Builder?builder, string model, GuitarType?type, int numStrings, Wood?backWood, Wood?topWood)
        {
            var spec   = new GuitarSpec(builder, model, type, numStrings, backWood, topWood);
            var guitar = new Guitar(serialNumber, price, spec);

            _guitars.Add(guitar);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            Inventory inventory = new Inventory();

            initializeInventory(inventory);

            GuitarSpec whatErinLikes = new GuitarSpec(Model.Type.ELECTRIC, Builder.FENDER, Wood.ALDER, Wood.ALDER, "Stratocastor", 16);
            ArrayList  guitars       = inventory.Search(whatErinLikes);

            if (guitars.Count != 0)
            {
                Console.WriteLine("Erin, you might like these guitars : \n");
                foreach (var item in guitars)
                {
                    Guitar     guitar     = (Guitar)item;
                    GuitarSpec guitarSpec = (GuitarSpec)guitar.Spec;
                    Console.WriteLine(guitarSpec.GetBuilder + " " + guitarSpec.Model + "" +
                                      guitarSpec.GetInsType + " guitar:\n" +
                                      guitarSpec.BackWood + " back and sides,\n" +
                                      guitarSpec.NumStrings + " num strings are present" +
                                      guitarSpec.TopWood + " top.\nYou can have it for only $" +
                                      guitar.Price + "!");
                    Console.WriteLine();
                }
            }
            else
            {
                Console.WriteLine("Sorry, Erin, we have nothing for you.");
            }
        }
 public bool matches(GuitarSpec otherSpec)
 {
     if (Builder != otherSpec.Builder)
     {
         return(false);
     }
     if ((Model != null) && (!Model.Equals("")) &&
         (!Model.ToLower().Equals(otherSpec.Model.ToLower())))
     {
         return(false);
     }
     if (Type != otherSpec.Type)
     {
         return(false);
     }
     if (NumStrings != otherSpec.NumStrings)
     {
         return(false);
     }
     if (BackWood != otherSpec.BackWood)
     {
         return(false);
     }
     if (TopWood != otherSpec.TopWood)
     {
         return(false);
     }
     return(true);
 }
Exemple #4
0
        public static void Main(string[] args)
        {
            Inventory inventory = new Inventory();

            InitializeInventory(inventory);

            GuitarSpec whatErinLikes = new GuitarSpec(Builder.FENDER, "Stratocastor",
                                                      Type.ELECTRIC, 6, Wood.ALDER, Wood.ALDER);
            List <Guitar> matchingGuitars = inventory.Search(whatErinLikes);

            if (matchingGuitars.Count > 0)
            {
                Console.WriteLine("Erin, you might like these guitars:");
                foreach (Guitar guitar in matchingGuitars)
                {
                    GuitarSpec spec = guitar.Spec;
                    Console.WriteLine("  We have a " +
                                      spec.Builder + " " + spec.Model + " " +
                                      spec.Type + " guitar:\n     " +
                                      spec.BackWood + " back and sides,\n     " +
                                      spec.TopWood + " top.\n  You can have it for only $" +
                                      guitar.Price + "!\n  ----");
                }
            }
            else
            {
                Console.WriteLine("Sorry, Erin, we have nothing for you.");
            }
        }
        public void TestSearchrMetodSpecFoundTwice()
        {
            GuitarSpec    spec    = new GuitarSpec(Builder.Chitaro, "", Type.Electrica, Wood.Stejar, Wood.Stejar);
            Inventory     inv     = new Inventory();
            List <Guitar> chitare = inv.Search(spec);

            Assert.AreEqual(chitare.Count, 2);
        }
        public void TestSearchrMetodSpecNotFound()
        {
            GuitarSpec    spec    = new GuitarSpec(Builder.Romchitara, "Modelul asta nu exista", Type.Electrica, Wood.Stejar, Wood.Stejar);
            Inventory     inv     = new Inventory();
            List <Guitar> chitare = inv.Search(spec);

            Assert.AreEqual(chitare.Count, 0);
        }
        public List <Guitar> GetGuitar()
        {
            GuitarSpec whatErinLikes = new GuitarSpec {
                Builder = Builder.Fendor, Model = "Stratocastor", Type = Type.Electric, BackWood = Wood.Alder, TopWood = Wood.Alder, NumString = "12"
            };
            var guitars = _inventory.SearchGuitar(whatErinLikes);

            return(guitars);
        }
Exemple #8
0
 public List <Guitar> SearchGuitar(GuitarSpec requiredGuitar)
 {
     // return _guitars.Where(guitar => guitar.Type.Equals(requiredGuitar.Type) &&
     //                  guitar.Builder.Equals(requiredGuitar.Builder) &&
     //                  guitar.Model.Equals(requiredGuitar.Model) &&
     //                  guitar.BackWood.Equals(requiredGuitar.TopWood) &&
     //                  guitar.TopWood.Equals(requiredGuitar.TopWood) &&
     //                  guitar.NumString.Equals(requiredGuitar.NumString))?.ToList();
     return(_guitars.Where(guitar => guitar.GuitarSpec.IsGuitarMatch(requiredGuitar)).ToList());
 }
        public List <Guitar> Search(GuitarSpec searchSpec)
        {
            List <Guitar> matchingGuitars = null;

            foreach (Guitar guitar in inventory)
            {
                if (guitar.Spec.IsMatch(searchSpec))
                {
                    matchingGuitars.Add(guitar);
                }
            }
            return(matchingGuitars);
        }
Exemple #10
0
        public List <Guitar> Search(GuitarSpec searchGuitar)
        {
            var machingGuitars = new List <Guitar>();

            foreach (var guitar in _guitars)
            {
                GuitarSpec guitarSpec = guitar.Spec;
                if (guitarSpec.Matches(searchGuitar))
                {
                    machingGuitars.Add(guitar);
                }
            }
            return(machingGuitars);
        }
Exemple #11
0
        public List <Guitar> search(GuitarSpec searchGuitar)
        {
            List <Guitar> matches = new List <Guitar>();

            foreach (Instrument guitar in this.instruments)
            {
                InstrumentSpec spec = guitar.getSpec();
                if (searchGuitar.Equals(spec))
                {
                    matches.Add((Guitar)guitar);
                }
            }
            return(matches);
        }
Exemple #12
0
        static void Main(string[] args)
        {
            Inventory inventory = new Inventory();

            initializeInventory(inventory);

            GuitarSpec whatEveLikes = new GuitarSpec(Abstract.Type.ELECTRIC, "", Builder.GIBSON, Wood.ALDER, Wood.BRAZILIAN_ROSEWOOD, 6);

            List <Guitar> guitars = inventory.Search(whatEveLikes);

            if (guitars != null)
            {
                Console.WriteLine("Znaleziono!");
            }
            else
            {
                Console.WriteLine("Nie znaleziono pasujących gitar");
            }
        }
Exemple #13
0
        static void Main(string[] args)
        {
            var inventory = new Inventory();

            InitializeInventory(inventory);

            var whatErinLikes = new GuitarSpec(Builder.Fender, "StratoCastor", GuitarType.Electric, 6, Wood.Alder, Wood.Alder);

            List <Guitar> guitars = inventory.Search(whatErinLikes);

            if (guitars.Any())
            {
                guitars.ForEach(Console.WriteLine);
            }
            else
            {
                Console.WriteLine("Nothing found");
            }
            Console.ReadLine();
        }
Exemple #14
0
        public void TwoMatchesForErin()
        {
            GuitarSpec searchSpec = new GuitarSpec
            {
                Builder   = Builder.Fender,
                ModelName = "Stratocaster",
                Type      = GuitarType.Electric,
                TopWood   = Wood.Alder,
                BackWood  = Wood.Alder
            };
            var matchingGuitars = sampleInventory.Search(searchSpec);

            Assert.AreEqual(2, (matchingGuitars as List <Guitar>).Count);

            foreach (Guitar match in matchingGuitars)
            {
                Assert.AreEqual(match.Spec.Builder, searchSpec.Builder);
                Assert.IsTrue(match.Spec.ModelName.Equals(searchSpec.ModelName, StringComparison.OrdinalIgnoreCase));
                Assert.AreEqual(match.Spec.Type, searchSpec.Type);
                Assert.AreEqual(match.Spec.TopWood, searchSpec.TopWood);
                Assert.AreEqual(match.Spec.BackWood, searchSpec.BackWood);
            }
        }
Exemple #15
0
 public Guitar(string serialNumber, double price, GuitarSpec spec)
 {
     SerialNumber = serialNumber;
     Price        = price;
     Spec         = spec;
 }