public void ScoreboardSlotArgument_ParseShouldFail_BecauseInvalidScoreboardSlot()
        {
            // Arrange
            ScoreboardSlots.Set("{\"foo\":{}}");
            ScoreboardSlotArgument argument = new ScoreboardSlotArgument();
            IStringReader          reader   = new StringReader("bar");

            // Act
            ReadResults readResults = argument.Parse(reader, out _);

            // Assert
            Assert.IsFalse(readResults.Successful);
        }
        public void ScoreboardSlotArgument_ParseShouldSucceed()
        {
            // Arrange
            ScoreboardSlots.Set("{\"foo\":{}}");
            ScoreboardSlotArgument argument = new ScoreboardSlotArgument();
            IStringReader          reader   = new StringReader("foo");

            // Act
            ReadResults readResults = argument.Parse(reader, out _);

            // Assert
            Assert.IsTrue(readResults.Successful);
        }
        public void ScoreboardSlotArgument_ParseShouldSucceed_WithOptionalSlotType()
        {
            // Arrange
            Colours.Set("[\"red\",\"green\"]");
            ScoreboardSlots.Set("{\"foo\":{\"contents_optional\":true,\"slot_type\":\"colour\"}}");
            ScoreboardSlotArgument argument = new ScoreboardSlotArgument();
            IStringReader          reader   = new StringReader("foo");

            // Act
            ReadResults readResults = argument.Parse(reader, out _);

            // Assert
            Assert.IsTrue(readResults.Successful);
        }