Example #1
0
        public void Test3()
        {
            IStage stage = new Stage();

            ISong song1 = new Song("Song1", new System.TimeSpan(0, 50, 0));
            ISong song2 = new Song("Song2", new System.TimeSpan(0, 5, 0));

            ISet set = new Long("LongSet1");

            set.AddSong(song1);
            set.AddSong(song2);

            IPerformer performer = new Performer("Performer1", 10);

            performer.AddInstrument(new Guitar());

            set.AddPerformer(performer);

            stage.AddSet(set);

            ISetController setController = new SetController(stage);

            string actualResult = setController.PerformSets();

            string expectedResult = "1. LongSet1:" + System.Environment.NewLine +
                                    "-- 1. Song1 (50:00)" + System.Environment.NewLine +
                                    "-- 2. Song2 (05:00)" + System.Environment.NewLine +
                                    "-- Set Successful";


            Assert.AreEqual(expectedResult, actualResult);
            Assert.AreEqual(0, performer.Instruments.First().Wear);
        }
        public void SetControllerShouldWearDownInstruments()
        {
            Performer   performer  = new Performer("Ivo", 26);
            IInstrument instrument = new Guitar();

            performer.AddInstrument(instrument);

            ISet set = new Short("ShortSet");

            set.AddPerformer(performer);
            ISong song = new Song("Chico loco", new TimeSpan(0, 2, 30));

            set.AddSong(song);

            var stage = new Stage();

            stage.AddPerformer(performer);
            stage.AddSong(song);
            stage.AddSet(set);

            var setController = new SetController(stage);

            var instrumentWearBefore = instrument.Wear;

            setController.PerformSets();

            var instrumentWearAfter = instrument.Wear;

            Assert.AreNotEqual(instrumentWearAfter, instrumentWearBefore);
        }
Example #3
0
        public void InstrumentsToRepair()
        {
            Stage stage = new Stage();

            ISetController setController = new SetController(stage);
            Performer      performer     = new Performer("Ivan", 24);

            performer.AddInstrument(new Drums());
            stage.AddPerformer(performer);
            Song song = new Song("pesen", new TimeSpan(0, 3, 0));
            Set  set  = new Medium("Set1");

            set.AddPerformer(performer);
            set.AddSong(song);
            stage.AddSet(set);

            int expectedInstrumets = 1;

            setController.PerformSets();

            var instrumentsToRepair = stage.Performers
                                      .SelectMany(p => p.Instruments)
                                      .Where(i => i.Wear <= 100)
                                      .ToArray();

            Assert.That(instrumentsToRepair.Length, Is.EqualTo(expectedInstrumets));
        }
Example #4
0
        public void PerformSets_WearDownTest()
        {
            IStage         stage      = new Stage();
            ISetController controller = new SetController(stage);

            ISet set = new Short("Set1");

            stage.AddSet(set);

            IPerformer  performer = new Performer("Sonny", 22);
            IInstrument guitar    = new Guitar();

            performer.AddInstrument(guitar);
            set.AddPerformer(performer);

            ISong song = new Song("Song", new TimeSpan(0, 3, 24));

            set.AddSong(song);

            var wearBeforeWearDown = guitar.Wear;

            controller.PerformSets();
            var afterWearDownWear = guitar.Wear;

            Assert.That(wearBeforeWearDown, Is.Not.EqualTo(afterWearDownWear));
        }
Example #5
0
        public void TestRegisterSetWithSongs()
        {
            IPerformer performer = new Performer("Pesho", 20);

            IInstrument instrument = new AKG();

            performer.AddInstrument(instrument);

            TimeSpan span = new TimeSpan(0, 0, 5, 5, 0);

            ISong song = new Song("AAA", span);

            ISet shortSet = new Short("shortSet");

            shortSet.AddSong(song);
            shortSet.AddPerformer(performer);


            IStage testStage = new Stage();

            testStage.AddSet(shortSet);

            SetController testController = new SetController(testStage);

            string result = testController.PerformSets();

            Assert.That(result, Is.EqualTo("1. shortSet:\r\n-- 1. AAA (05:05)\r\n-- Set Successful"));
        }
Example #6
0
        public void WearShouldBeDifferent()
        {
            IStage         stage         = new Stage();
            ISetController setController = new SetController(stage);

            IPerformer performer = new Performer("Niki", 18);

            performer.AddInstrument(new Guitar());

            double instrumentWearBefore = performer.Instruments.First().Wear;
            ISet   set = new Short("short1");

            set.AddSong(new Song("Pesna", new TimeSpan(0, 1, 10)));
            set.AddPerformer(performer);
            stage.AddSet(set);

            setController.PerformSets();

            FieldInfo listField = typeof(Performer).GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
                                  .FirstOrDefault(p => p.Name == "instruments");

            List <IInstrument> insturments         = (List <IInstrument>)listField.GetValue(performer);
            double             instrumentWearAfter = insturments[0].Wear;

            Assert.That(instrumentWearAfter, Is.Not.EqualTo(instrumentWearBefore));
        }
        public void PerformCommandReturnsSuccessResult()
        {
            IStage stage = new Stage();
            ISet   set   = new Short("Set1");

            TimeSpan duration = TimeSpan.FromSeconds((1 * 60) + 2);
            ISong    song     = new Song("Song1", duration);

            IPerformer performer = new Performer("Gosho", 20);

            performer.AddInstrument(new Guitar());

            set.AddPerformer(performer);
            set.AddSong(song);

            stage.AddSong(song);

            stage.AddSet(set);
            stage.AddSong(song);
            stage.AddPerformer(performer);

            ISetController setController = new SetController(stage);

            string actual   = "1. Set1:\r\n-- 1. Song1 (01:02)\r\n-- Set Successful";
            string expected = setController.PerformSets();

            Assert.AreEqual(actual, expected);
        }
Example #8
0
        public void OneSuccesfulSetAndOneFailed()
        {
            string expected = "1. mediumSet:" + Environment.NewLine + "-- 1. Song1 (05:00)" + Environment.NewLine + "-- Set Successful" + Environment.NewLine +
                              "2. shortSet:" + Environment.NewLine + "-- Did not perform";

            IStage stage = new Stage();

            string firstSetName = "shortSet";
            ISet   set1         = new Short(firstSetName);

            stage.AddSet(set1);

            string songName = "Song1";
            var    duration = new TimeSpan(0, 5, 0);
            ISong  song     = new Song(songName, duration);

            string performerName = "Pesho";
            int    age           = 20;
            var    performer     = new Performer(performerName, age);
            var    guitar        = new Guitar();

            performer.AddInstrument(guitar);

            string secondSetName = "mediumSet";
            ISet   set2          = new Medium(secondSetName);

            set2.AddPerformer(performer);
            set2.AddSong(song);
            stage.AddSet(set2);

            var    setController = new SetController(stage);
            string result        = setController.PerformSets();

            Assert.That(result, Is.EqualTo(expected));
        }
Example #9
0
        public void PerformSetShouldDecreaseInstrumentWear()
        {
            IStage         stage         = new Stage();
            ISetController setController = new SetController(stage);


            ISet        set        = new Short("Set1");
            IPerformer  performer  = new Performer("Pesho", 18);
            IInstrument instrument = new Guitar();

            performer.AddInstrument(instrument);
            set.AddPerformer(performer);

            ISong song = new Song("Zaz - Ututudu", new TimeSpan(0, 2, 32));

            set.AddSong(song);

            stage.AddSet(set);

            double instrumentWearBeforePerforming = instrument.Wear;

            setController.PerformSets();

            double instrumentWearAfterPerforming = instrument.Wear;

            Assert.That(instrumentWearAfterPerforming, Is.Not.EqualTo(instrumentWearBeforePerforming));
        }
Example #10
0
        public void Test2()
        {
            var stage = new Stage();

            stage.AddSet(new Medium(nameof(Medium)));

            var songName  = "song1";
            var mediumSet = nameof(Medium);

            var performer = new Performer("performer", 22);
            var guitar    = new Guitar();

            performer.AddInstrument(guitar);

            var song = new Song(songName, new System.TimeSpan(0, 2, 22));

            stage.AddSong(song);
            var set = stage.GetSet(mediumSet);

            set.AddSong(song);
            set.AddSong(song);
            set.AddSong(song);
            set.AddSong(song);
            set.AddSong(song);
            set.AddPerformer(performer);



            var setController = new SetController(stage);
            var result        = setController.PerformSets().Split(System.Environment.NewLine);
        }
Example #11
0
        public void SetWithSongAndPerformer()
        {
            string expected = "1. mediumSet:" + Environment.NewLine + "-- 1. Song1 (05:00)" + Environment.NewLine + "-- Set Successful";

            string songName = "Song1";
            var    duration = new TimeSpan(0, 5, 0);
            ISong  song     = new Song(songName, duration);

            string performerName = "Pesho";
            int    age           = 20;
            var    performer     = new Performer(performerName, age);
            var    guitar        = new Guitar();

            performer.AddInstrument(guitar);

            IStage stage = new Stage();

            string setName = "mediumSet";
            ISet   set     = new Medium(setName);

            set.AddPerformer(performer);
            set.AddSong(song);
            stage.AddSet(set);

            var    setController = new SetController(stage);
            string result        = setController.PerformSets();

            Assert.That(result, Is.EqualTo(expected));
        }
        public void Test()
        {
            IStage         stage         = new Stage();
            ISetController setController = new SetController(stage);
            //IInstrument instrument = new Guitar();

            IPerformer performer = new Performer("Gosho", 24);

            //performer.AddInstrument(instrument);
            stage.AddPerformer(performer);

            ISong song = new Song("Rocks down", new TimeSpan(0, 0, 0, 55));

            stage.AddSong(song);

            ISet set = new Long("Set1");

            set.AddPerformer(performer);
            set.AddSong(song);
            stage.AddSet(set);

            string result = setController.PerformSets();

            Assert.AreEqual("1. Set1:\r\n-- Did not perform", result);
        }
Example #13
0
        public void ValidatePerformSetsMethod()
        {
            var set1       = new Short("Set1");
            var set2       = new Medium("Set2");
            var set3       = new Medium("Set3");
            var song1      = new Song("Song1", new TimeSpan(0, 10, 0));
            var song2      = new Song("Song2", new TimeSpan(0, 15, 0));
            var performer1 = new Performer("Performer1", 22);
            var performer2 = new Performer("Performer2", 22);
            var instrument = new Microphone();

            performer1.AddInstrument(instrument);
            performer2.AddInstrument(instrument);
            set1.AddSong(song1);
            set1.AddPerformer(performer1);
            set2.AddSong(song2);
            set2.AddPerformer(performer1);
            set3.AddSong(song2);
            set3.AddPerformer(performer1);
            set3.AddPerformer(performer2);
            stage.AddSet(set1);
            stage.AddSet(set2);
            stage.AddSet(set3);

            var    setController  = new SetController(stage);
            string result         = setController.PerformSets();
            string expectedResult = "1. Set3:\r\n-- 1. Song2 (15:00)\r\n-- Set Successful\r\n2. Set2:\r\n-- Did not perform\r\n3. Set1:\r\n-- Did not perform";

            Assert.That(result, Is.EqualTo(expectedResult));
        }
Example #14
0
        public void Test2()
        {
            IStage stage = new Stage();

            ISong song1 = new Song("Song1", new System.TimeSpan(0, 50, 0));
            ISong song2 = new Song("Song2", new System.TimeSpan(0, 5, 0));

            ISet set = new Long("LongSet1");

            set.AddSong(song1);
            set.AddSong(song2);

            IPerformer performer = new Performer("Performer1", 10);

            //performer.AddInstrument(new Guitar());

            set.AddPerformer(performer);

            stage.AddSet(set);

            ISetController setController = new SetController(stage);

            string actualResult = setController.PerformSets();

            string expectedResult = "1. LongSet1:" + System.Environment.NewLine +
                                    "-- Did not perform";

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void PerformSets_CannotPerform_OrderedCorrectly()
        {
            IStage stage = new Stage();

            ISet shortSet  = new Short("short");
            ISet mediumSet = new Medium("medium");
            ISet longSet   = new Long("long");

            longSet.AddSong(new Song("s1", new TimeSpan(0, 2, 0)));
            mediumSet.AddSong(new Song("s2", new TimeSpan(0, 2, 0)));
            shortSet.AddSong(new Song("s3", new TimeSpan(0, 1, 0)));

            mediumSet.AddPerformer(new Performer("penka", 123));

            stage.AddSet(shortSet);
            stage.AddSet(longSet);
            stage.AddSet(mediumSet);

            ISetController setController = new SetController(stage);

            string actualResult   = setController.PerformSets();
            string expectedResult =
                "1. medium:\r\n-- Did not perform\r\n2. long:\r\n-- Did not perform\r\n3. short:\r\n-- Did not perform";

            Assert.That(actualResult, Is.EqualTo(expectedResult));
        }
Example #16
0
        public void TestConstuctor()
        {
            Stage         stage         = new Stage();
            SetController setController = new SetController(stage);

            FieldInfo[] fields = typeof(ISet).GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public);
        }
        public void PerformSets_CanPerform_InstrumentWearsDown()
        {
            IStage stage = new Stage();

            ISet set = new Long("short");

            set.AddSong(new Song("s2", new TimeSpan(0, 1, 0)));

            IPerformer performer = new Performer("pesho", 100);

            IInstrument instrument = new Drums();

            performer.AddInstrument(instrument);

            set.AddPerformer(performer);

            stage.AddSet(set);

            ISetController setController = new SetController(stage);

            setController.PerformSets();

            double actualResult   = instrument.Wear;
            double expectedResult = 80;

            Assert.That(actualResult, Is.EqualTo(expectedResult));
        }
Example #18
0
        public void TestInstrumentWearsDownAfterPerformance()
        {
            IStage stage = new Stage();
            ISet   set   = new Short("Shorty");

            stage.AddSet(set);

            IPerformer perf = new Performer("HrupHrupAzSumTup", 22);

            perf.AddInstrument(new Guitar());

            stage.AddPerformer(perf);

            ISong song = new Song("hrup", new System.TimeSpan(0, 5, 0));

            stage.AddSong(song);

            set.AddSong(song);

            set.AddPerformer(perf);

            ISetController setController = new SetController(stage);

            setController.PerformSets();

            Assert.That(perf.Instruments.First().Wear, Is.EqualTo(40));
        }
        public void WearDownWorks()
        {
            ISet  set  = new Short("izpulnenie");
            ISong song = new Song("despacito", new TimeSpan(0, 02, 01));

            set.AddSong(song);

            IPerformer  performer  = new Performer("ivan", 15);
            IInstrument instrument = new Drums();

            performer.AddInstrument(instrument);

            set.AddPerformer(performer);
            IStage stage = new Stage();

            stage.AddSet(set);

            ISetController setController = new SetController(stage);

            var expected = 80;

            setController.PerformSets();

            var actual = instrument.Wear;

            Assert.AreEqual(expected, actual);
        }
Example #20
0
        public void TestPerformanceSuccessful()
        {
            IStage stage = new Stage();
            ISet   set   = new Short("Shorty");

            stage.AddSet(set);

            IPerformer perf = new Performer("HrupHrupAzSumTup", 22);

            perf.AddInstrument(new Guitar());

            stage.AddPerformer(perf);

            ISong song = new Song("hrup", new System.TimeSpan(0, 5, 0));

            stage.AddSong(song);

            set.AddSong(song);

            set.AddPerformer(perf);

            ISetController setController = new SetController(stage);

            setController.PerformSets();

            Assert.That(() => setController.PerformSets(), Is.EqualTo("1. Shorty:\r\n" +
                                                                      "-- 1. hrup (05:00)\r\n" +
                                                                      "-- Set Successful"));
        }
        public void TestInstrumentsGetBroken()
        {
            IStage stage = new Stage();
            ISet   set   = new Short("Set1");

            TimeSpan duration = TimeSpan.FromSeconds((1 * 60) + 2);
            ISong    song     = new Song("Song1", duration);

            IPerformer performer = new Performer("Gosho", 20);

            IInstrument instrument = new Guitar();

            instrument.WearDown();
            instrument.WearDown();

            performer.AddInstrument(instrument);

            set.AddPerformer(performer);
            set.AddSong(song);

            stage.AddSong(song);

            stage.AddSet(set);
            stage.AddSong(song);
            stage.AddPerformer(performer);

            ISetController setController = new SetController(stage);

            string actual   = "1. Set1:\r\n-- Did not perform";
            string expected = setController.PerformSets();

            Assert.AreEqual(actual, expected);
        }
Example #22
0
        public void TestCanPerformReturnsTrue()
        {
            IStage stage = new Stage();
            ISet   set   = new Short("Shorty");

            stage.AddSet(set);

            IPerformer perf = new Performer("HrupHrupAzSumTup", 22);

            perf.AddInstrument(new Guitar());

            stage.AddPerformer(perf);

            ISong song = new Song("hrup", new System.TimeSpan(0, 5, 0));

            stage.AddSong(song);

            set.AddSong(song);

            set.AddPerformer(perf);

            ISetController setController = new SetController(stage);

            setController.PerformSets();

            Assert.That(() => stage.Sets.First().CanPerform(), Is.EqualTo(true));
        }
Example #23
0
        public void TestControllerDidNotPerformSetWithBrokenInstruments()
        {
            var set1       = new Short("set1");
            var performer  = new Performer("Danny", 38);
            var instrument = new Microphone();

            performer.AddInstrument(instrument);
            var song = new Song("name", new TimeSpan(0, 0, 5, 0));

            var stage = new Stage();

            set1.AddPerformer(performer);
            set1.AddSong(song);
            stage.AddSet(set1);
            stage.AddPerformer(performer);
            stage.AddSong(song);

            var controller = new SetController(stage);

            controller.PerformSets();
            controller.PerformSets();
            var stringOutput = controller.PerformSets();
            var expected     = "1. set1:" + Environment.NewLine + "-- Did not perform";

            Assert.AreEqual(expected, stringOutput);
        }
        public void TestWhetherTheControllerGivesCorrectOutput()
        {
            var set1 = new Short("set1");

            var performer  = new Performer("Bat nasko", 30);
            var instrument = new Guitar();

            performer.AddInstrument(instrument);
            var song = new Song("name", new TimeSpan(0, 0, 10, 0));

            var stage = new Stage();

            set1.AddPerformer(performer);
            set1.AddSong(song);
            stage.AddSet(set1);
            stage.AddPerformer(performer);
            stage.AddSong(song);

            var controller   = new SetController(stage);
            var stringOutput = controller.PerformSets();

            var expectedResult = "1. set1:\r\n-- 1. name (10:00)\r\n-- Set Successful";

            Assert.AreEqual(expectedResult, stringOutput);
        }
        public void SetControllerShouldReturnSuccessMessage()
        {
            var stage = new Stage();

            var performer = new Performer("Ivo", 26);

            IInstrument instrument = new Guitar();

            performer.AddInstrument(instrument);

            stage.AddPerformer(performer); //

            ISong song = new Song("Chico loco", new TimeSpan(0, 2, 30));

            stage.AddSong(song); //

            ISet set = new Short("ShortSet");

            stage.AddSet(set);

            var setController = new SetController(stage);

            var actualResult   = setController.PerformSets();
            var expectedResult = "1. ShortSet:\r\n-- Did not perform";

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void TestWhetherTheControllerFailsToPerform()
        {
            var set1 = new Short("set1");

            var performer  = new Performer("Woah", 39);
            var instrument = new Microphone();

            performer.AddInstrument(instrument);
            var song = new Song("WoahButSong", new TimeSpan(0, 0, 5, 0));

            var stage = new Stage();

            set1.AddPerformer(performer);
            set1.AddSong(song);
            stage.AddSet(set1);
            stage.AddPerformer(performer);
            stage.AddSong(song);

            var controller = new SetController(stage);

            controller.PerformSets();
            controller.PerformSets();
            var stringOutput = controller.PerformSets();

            var expectedResult = "1. set1:\r\n-- Did not perform";

            Assert.AreEqual(expectedResult, stringOutput);
        }
        public void PerfrormSets_ShouldDecrease_InstrumentWear()
        {
            //Arrange
            IStage         stage         = new Stage();
            ISetController setController = new SetController(stage);

            ISet        set        = new Short("Set1");
            IPerformer  performer  = new Performer("Gaga", 29);
            ISong       song       = new Song("Song", new TimeSpan(0, 2, 30));
            IInstrument instrument = new Guitar();

            //Act
            performer.AddInstrument(instrument);
            set.AddPerformer(performer);
            set.AddSong(song);
            stage.AddSet(set);

            double instrumentWearBefore = instrument.Wear;

            setController.PerformSets();
            double instrumentWearAfter = instrument.Wear;

            //Assert
            Assert.That(instrumentWearAfter, Is.Not.EqualTo(instrumentWearBefore));
        }
        public void PerformSetsShouldWearDownInstrument()
        {
            Stage         stage         = new Stage();
            SetController setController = new SetController(stage);
            Set           set           = new Short("WestSet");
            IPerformer    performer     = new Performer("Name", 18);
            Song          song          = new Song("SongName", new TimeSpan(0, 2, 30));
            Instrument    instrument    = new Microphone();

            performer.AddInstrument(instrument);
            set.AddSong(song);
            set.AddPerformer(performer);
            stage.AddSet(set);
            stage.AddPerformer(performer);

            setController.PerformSets();

            var currPerformer = stage.GetPerformer("Name");
            var instruments   = currPerformer.Instruments;

            var actual   = instruments.First().Wear;
            var expected = 20;

            Assert.AreEqual(expected, actual);
        }
        public void PerforSetsTest()
        {
            IStage         stage         = new Stage();
            ISetController setController = new SetController(stage);
            ISet           set           = new Short("Set1");
            ISet           set2          = new Short("Set2");

            stage.AddSet(set);
            stage.AddSet(set2);
            IPerformer  performer = new Performer("Pesho", 23);
            IInstrument guitar    = new Guitar();

            stage.AddPerformer(performer);
            set.AddPerformer(performer);
            performer.AddInstrument(guitar);
            ISong song = new Song("Song1", new System.TimeSpan(0, 5, 0));

            stage.AddSong(song);
            set.AddSong(song);

            string expectedResult = "1. Set1:" + "\r\n" +
                                    "-- 1. Song1 (05:00)" + "\r\n" +
                                    "-- Set Successful" + "\r\n" +
                                    "2. Set2:" + "\r\n" +
                                    "-- Did not perform";


            string actualResult = setController.PerformSets();

            Assert.That(actualResult, Is.EqualTo(expectedResult).NoClip);
            Assert.That(guitar.Wear, Is.EqualTo(40));
        }
Example #30
0
        public void Test()
        {
            var stage      = new Stage();
            var performer1 = new Performer("Gosho", 21);

            performer1.AddInstrument(new Guitar());
            performer1.AddInstrument(new Microphone());
            var performer2 = new Performer("Pesho", 23);

            performer2.AddInstrument(new Drums());
            var performer3 = new Performer("Ivan", 20);

            performer3.AddInstrument(new Microphone());
            var set = new Long("TestSet");

            set.AddPerformer(performer1);
            set.AddPerformer(performer2);
            set.AddPerformer(performer3);
            var song1 = new Song("song1", new TimeSpan(0, 20, 0));
            var song2 = new Song("song2", new TimeSpan(0, 20, 0));
            var song3 = new Song("song3", new TimeSpan(0, 19, 0));
            var song4 = new Song("song4", new TimeSpan(0, 0, 1));

            set.AddSong(song1);
            set.AddSong(song2);
            set.AddSong(song3);
            set.AddSong(song4);
            stage.AddSet(set);

            var controller = new SetController(stage);
            var result     = controller.PerformSets();

            Assert.That(result, Is.EqualTo("1. TestSet:\r\n-- 1. song1 (20:00)\r\n-- 2. song2 (20:00)\r\n-- 3. song3 (19:00)\r\n-- 4. song4 (00:01)\r\n-- Set Successful"));
        }