5 лет опыта... язык второй легко зайдёт, посидите пару месяцев поизучайте, разберите на атомы десяток популярных библиотек, освойте фрейм и сразу на мидла целтесь,
Бесплатно не найти, тк там где платят — там очень нужно, там где нужно — вам (всем) и место
7876010, все сразу мне тяжело будет вам показать/объяснить, могу сказать, что вам пора использовать любой мощный фреймворк, там вы все увидите во всей красе и даже поймете
Twitt, или наоборот, можете заполнить свойствами, но без нужного свойства и проверить, что метод ведет себя ожидаемо... проверять нужно все сценарии (в примере выше я сделал исключением, когда число элементов не совпадает ни с 2, ни с 6) и под это поведение сделал отдельный тест (последний)