Move History

Rooted by: Text compression
Fork Selected
  • Code
    import zlib
    l='L1'
    exec(str(zlib.decompress(bytes("xÚMP=oÂ0ý+¯YXC[u@B,•h§v©ÄâØpqìÈw.Eÿ½—€DåÅzw÷¾„~eL×8·ª±Í¾Ÿ\"ªº_UØ1HÛÒy!³‚™¤äXÕ¬>wM\nŒj‰¶Ú¤®ÏČ`òž ʎ9wI-äàyè/>‚;lr´ØÅÏ+¬;Ãx~yxÜyBð‘jœ¼Rˆ—@|¥V 8œrRCm‰v´[ù2IL¢5½9ߗ‚»’ë`–'zbä~·À‡ïú@àÊÔÂ߅e$ßUããT²½&»¼§Lc¦,ø1ٛ(ð¼„KPìˆÔ\nEœRvЀܓõ&¨Ù£t£~C­©’–òšNÿZ‚5QÇklÌäý½uí­q÷k¼‘Ìö@ö/Õ¸ª",encoding=l)),l))
    Test Cases
    import codewars_test as test
    import inspect
    import solution # from solution
    
    # test.assert_equals(actual, expected, [optional] message)
    @test.describe("Test of compression text")
    def test_group():
        # todo please, correct this number after make cnage
        method_size=504
        module_size=504
        
        text_size=464
        text_expected="""Compress large text - description of this Kata or Kumite in small code.
    This Kata or Kumite description has 462 symbols in 3 line, without title. You should wrote function, return this text, but you should use less symbols in you'r code that this text. Simple solution - just return \"\"\"source text\"\"\". More smart variant is: do mark often word as special symbols and replace his before return.
    How small code can be? Can you wrote more compressing? Let's check it!"""
        
        @test.it("Text check")
        def test_case_text():
            expected = text_expected
            test.assert_equals(solution.text(), expected)
            test.assert_equals(solution.text(), expected)
        
        @test.it("Test of test")
        def test_text():
            expected = text_expected
            test.assert_equals(len(text_expected), text_size)
            src=inspect.getsource(solution)
            src_len=len(src)
            test.assert_equals((src_len>= 5),True, "Test not see solution source")
        
        @test.it("Source module check")
        def test_case_source_function():
            src=inspect.getsource(solution)
            src_len=len(src)
            print("Size of all source code length is "+str(src_len))
            test.assert_equals((src_len<= module_size),True, "Source code of all module too large: "+str(src_len)+". Do not hidde data out of the function.")
            if src_len< module_size: print(f"New code less up to {module_size-src_len} symbol!")
            if (src_len<text_size): print(f"Congradulation! The code less that text at {text_size-src_len} symbol.")
    
  • Code
    • text=lambda d="description ",k=" Kata or Kumite ",r=" return",s=" symbols ": f"Compress large text - {d}of this{k}in small code.\nThis{k}{d}has 462{s}in 3 line, without title. You should wrote function,{r} this text, but you should use less{s}in you'r code that this text. Simple solution - just{r} \"\"\"source text\"\"\". More smart variant is: do mark often word as special{s}and replace his before{r}.\nHow small code can be? Can you wrote more compressing? Let's check it!"
    • import zlib
    • l='L1'
    • exec(str(zlib.decompress(bytes("xÚMP=oÂ0ý+¯YXC[u@B ,•h§v©ÄâØpqìÈw.Eÿ½—€DåÅzw÷¾„~eL×8·ª±Í¾Ÿ\"ªº_UØ1HÛÒy!³‚™¤äXÕ¬>wM\nŒj‰¶Ú¤®ÏČ`òž ʎ9wI-äàyè/>‚;lr´ØÅÏ+¬;Ãx~yxÜyBð‘jœ¼Rˆ—@ |¥V 8œrRCm‰v´[ù2IL¢5½9ߗ ‚»’ë`–'zbä~·À‡ïú@àÊÔÂ߅e$ßUããT²½&» ¼§Lc¦,ø1ٛ(ð¼„KPìˆÔ\nEœRvЀܓõ&¨Ù£t£~C­©’–òšNÿZ‚5QÇklÌäý½uí­q÷k¼‘Ìö@ö/Õ¸ª",encoding=l)),l))
    Test Cases
    • import codewars_test as test
    • import inspect
    • import solution # from solution
    • # test.assert_equals(actual, expected, [optional] message)
    • @test.describe("Test of compression text")
    • def test_group():
    • # todo please, correct this number after make cnage
    • method_size=504
    • module_size=504
    • text_size=464
    • text_expected="""Compress large text - description of this Kata or Kumite in small code.
    • This Kata or Kumite description has 462 symbols in 3 line, without title. You should wrote function, return this text, but you should use less symbols in you'r code that this text. Simple solution - just return \"\"\"source text\"\"\". More smart variant is: do mark often word as special symbols and replace his before return.
    • How small code can be? Can you wrote more compressing? Let's check it!"""
    • @test.it("Text check")
    • def test_case_text():
    • expected = text_expected
    • test.assert_equals(solution.text(), expected)
    • test.assert_equals(solution.text(), expected)
    • @test.it("Test of test")
    • def test_text():
    • expected = text_expected
    • test.assert_equals(len(text_expected), text_size)
    • src=inspect.getsource(solution)
    • src_len=len(src)
    • test.assert_equals((src_len>= 5),True, "Test not see solution source")
    • @test.it("Source function check")
    • def test_case_source_function():
    • src=inspect.getsource(solution.text)
    • src_len=len(src)
    • #test.assert_equals(src, "see method")
    • print("Size of source code 'def test()' is "+str(src_len))
    • test.assert_equals((src_len<= method_size),True, "Function 'def test()' too large: "+str(src_len))
    • test.assert_equals((src_len>= 4),True, "How wrote methd more small that he's call?") # test should see method
    • if src_len< method_size: print(f"New function less up to {method_size-src_len} symbol!")
    • @test.it("Source module check")
    • def test_case_source_function():
    • src=inspect.getsource(solution)
    • src_len=len(src)
    • print("Size of all source code length is "+str(src_len))
    • test.assert_equals((src_len<= module_size),True, "Source code of all module too large: "+str(src_len)+". Do not hidde data out of the function.")
    • if src_len< module_size: print(f"New code less up to {module_size-src_len} symbol!")
    • if (src_len<text_size): print(f"Congradulation! The code less that text at {text_size-src_len} symbol.")