1"use strict";(self.webpackChunkstryker_mutator_github_io=self.webpackChunkstryker_mutator_github_io||[]).push([["562"],{4318:function(e,d,r){r.r(d),r.d(d,{metadata:function(){return n},default:function(){return j},frontMatter:function(){return i},contentTitle:function(){return c},toc:function(){return h},assets:function(){return l}});var n=JSON.parse('{"id":"mutation-testing-elements/supported-mutators","title":"Supported mutators","description":"All Stryker versions support a variety of different mutators. We\'ve aligned on a standard naming scheme so it is easy to switch and compare implementations. The difference in support is listed below.","source":"@site/docs/mutation-testing-elements/supported-mutators.md","sourceDirName":"mutation-testing-elements","slug":"/mutation-testing-elements/supported-mutators","permalink":"/docs/mutation-testing-elements/supported-mutators","draft":false,"unlisted":false,"editUrl":"https://github.com/stryker-mutator/mutation-testing-elements/edit/master/docs/supported-mutators.md","tags":[],"version":"current","frontMatter":{"title":"Supported mutators","custom_edit_url":"https://github.com/stryker-mutator/mutation-testing-elements/edit/master/docs/supported-mutators.md"},"sidebar":"docs","previous":{"title":"Static mutants","permalink":"/docs/mutation-testing-elements/static-mutants"},"next":{"title":"Introduction","permalink":"/docs/stryker-js/introduction"}}'),s=r(94686),t=r(23191);let i={title:"Supported mutators",custom_edit_url:"https://github.com/stryker-mutator/mutation-testing-elements/edit/master/docs/supported-mutators.md"},c,l={},h=[{value:"Support",id:"support",level:2},{value:"Arithmetic Operator",id:"arithmetic-operator",level:2},{value:"Array Declaration",id:"array-declaration",level:2},{value:"Assignment Expression",id:"assignment-expression",level:2},{value:"Block Statement",id:"block-statement",level:2},{value:"Boolean Literal",id:"boolean-literal",level:2},{value:"Checked Statement",id:"checked-statement",level:2},{value:"Conditional Expression",id:"conditional-expression",level:2},{value:"Equality Operator",id:"equality-operator",level:2},{value:"Logical Operator",id:"logical-operator",level:2},{value:"Method Expression",id:"method-expression",level:2},{value:"StrykerJS",id:"strykerjs",level:3},{value:"Stryker.NET",id:"strykernet",level:3},{value:"Stryker4s",id:"stryker4s",level:3},{value:"Object literal",id:"object-literal",level:2},{value:"Optional chaining",id:"optional-chaining",level:2},{value:"Regex",id:"regex",level:2},{value:"String Literal",id:"string-literal",level:2},{value:"Unary Operator",id:"unary-operator",level:2},{value:"Update Operator",id:"update-operator",level:2}];function x(e){let d={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.p,{children:"All Stryker versions support a variety of different mutators. We've aligned on a standard naming scheme so it is easy to switch and compare implementations. The difference in support is listed below."}),"\n",(0,s.jsx)(d.h2,{id:"support",children:"Support"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutator"}),(0,s.jsx)(d.th,{style:{textAlign:"center"},children:(0,s.jsx)(d.a,{href:"/docs/stryker-js/introduction",children:"StrykerJS"})}),(0,s.jsx)(d.th,{style:{textAlign:"center"},children:(0,s.jsx)(d.a,{href:"/docs/stryker-net/getting-started",children:"Stryker.NET"})}),(0,s.jsx)(d.th,{style:{textAlign:"center"},children:(0,s.jsx)(d.a,{href:"/docs/stryker4s/getting-started",children:"Stryker4s"})})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#arithmetic-operator",children:"Arithmetic Operator"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u274C"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#array-declaration",children:"Array Declaration"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u274C"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#assignment-expression",children:"Assignment Expression"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u274C"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"n/a"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#block-statement",children:"Block Statement"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u274C"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#boolean-literal",children:"Boolean Literal"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\uFE0F\u2705"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#checked-statement",children:"Checked Statement"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"n/a"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"n/a"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#conditional-expression",children:"Conditional Expression"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#equality-operator",children:"Equality Operator"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#logical-operator",children:"Logical Operator"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#method-expression",children:"Method Expression"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#object-literal",children:"Object literal"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"n/a"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"n/a"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#optional-chaining",children:"Optional chaining"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u274C"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"n/a"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#regex",children:"Regex"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#string-literal",children:"String Literal"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#unary-operator",children:"Unary Operator"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u274C"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.a,{href:"#update-operator",children:"Update Operator"})}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"\u2705"}),(0,s.jsx)(d.td,{style:{textAlign:"center"},children:"n/a"})]})]})]}),"\n",(0,s.jsx)(d.h2,{id:"arithmetic-operator",children:"Arithmetic Operator"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"AdditionNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a + b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a - b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SubtractionNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a - b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a + b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MultiplicationNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a * b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a / b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"DivisionNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a / b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a * b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"RemainderToMultiplication"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a % b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a * b"})})]})]})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"array-declaration",children:"Array Declaration"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"ArrayConstructorItemsRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"new Array(1, 2, 3, 4)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"new Array()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"ArrayLiteralItemsRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"[1, 2, 3, 4]"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"[ ]"})})]})]})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"assignment-expression",children:"Assignment Expression"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"AdditionAssignmentNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"+="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"-="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SubtractionAssignmentNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"-="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"+="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MultiplicationAssignmentNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"*="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"/="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"DivisionAssignmentNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"/="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"*="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"RemainderAssignmentToMultiplicationAssignment"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"%="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"*="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LeftShiftAssignmentNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"<<="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:">>="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"RightShiftAssignmentNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:">>="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"<<="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LeftShiftAssignmentToUnsignedRightShiftAssignment"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"<<="})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:">>>="}),"\xb2"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"RightShiftAssignmentToUnsignedRightShiftAssignment"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:">>="})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:">>>="}),"\xb2"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"UnsignedRightShiftAssignmentToLeftShiftAssignment"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:">>>="})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"<<="}),"\xb2"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"UnsignedRightShiftAssignmentToRightShiftAssignment"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:">>>="})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:">>="}),"\xb2"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"BitwiseAndAssignmentNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"&="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)("code",{children:"|="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"BitwiseOrAssignmentNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)("code",{children:"|="})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"&="})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"NullCoalescingAssignmentToAndAssignment"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"??="})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"&&="}),"\xb9"]})]})]})]}),"\n",(0,s.jsxs)(d.ul,{children:["\n",(0,s.jsx)(d.li,{children:"\xb9: Only supported by Stryker-JS"}),"\n",(0,s.jsx)(d.li,{children:"\xb2: Only supported by Stryker.NET"}),"\n"]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"block-statement",children:"Block Statement"}),"\n",(0,s.jsxs)(d.p,{children:["This group has one mutant operator, the ",(0,s.jsx)(d.code,{children:"BlockRemoval"})," mutant operator. This mutant operator removes the content of every block statement. For example the code:"]}),"\n",(0,s.jsx)(d.pre,{children:(0,s.jsx)(d.code,{className:"language-javascript",children:"function saySomething() {\n console.log('Hello world!');\n}\n"})}),"\n",(0,s.jsx)(d.p,{children:"becomes:"}),"\n",(0,s.jsx)(d.pre,{children:(0,s.jsx)(d.code,{className:"language-javascript",children:"function saySomething() {}\n"})}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"boolean-literal",children:"Boolean Literal"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TrueNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"true"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"false"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FalseNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"false"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"true"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"NotRemoval"}),(0,s.jsx)(d.td,{children:(0,s.
1jsx)(d.code,{children:"!(a == b)"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"a == b"})," \xb9"]})]})]})]}),"\n",(0,s.jsxs)(d.ul,{children:["\n",(0,s.jsx)(d.li,{children:"\xb9: Not supported by Stryker4s"}),"\n"]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"checked-statement",children:"Checked Statement"}),"\n",(0,s.jsxs)(d.p,{children:["Stryker.NET ",(0,s.jsx)(d.em,{children:"specific mutator"})]}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsx)(d.tbody,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"CheckedRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"checked(2 + 4)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"2 + 4"})})]})})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"conditional-expression",children:"Conditional Expression"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant Operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LessThanToFalse"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"for (var i = 0; i < 10; i++) { }"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"for (var i = 0; false; i++) { }"})," \xb9"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanToFalse"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"while (a > b) { }"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"while (false) { }"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanToFalse"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"do { } while (a > b);"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"do { } while (false);"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanToTrue"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"if (a > b) { }"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"if (true) { }"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanToFalse"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"if (a > b) { }"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"if (false) { }"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanToTrue"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"var x = a > b ? 1 : 2;"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"var x = true ? 1 : 2;"})," \xb9"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanToFalse"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"var x = a > b ? 1 : 2;"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"var x = false ? 1 : 2;"})," \xb9"]})]})]})]}),"\n",(0,s.jsxs)(d.ul,{children:["\n",(0,s.jsx)(d.li,{children:"\xb9: Not supported by Stryker4s"}),"\n"]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"equality-operator",children:"Equality Operator"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LessThanBoundary"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a < b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a <= b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LessThanNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a < b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a >= b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LessThanEqualBoundary"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a <= b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a < b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LessThanEqualNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a <= b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a > b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanBoundary"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a > b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a >= b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a > b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a <= b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanEqualBoundary"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a >= b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a > b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"GreaterThanEqualNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a >= b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a < b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"EqualityNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a == b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a != b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"InequalityNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a != b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a == b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"StrictEqualityNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a === b"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"a !== b"})," \xb9"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"StrictInequalityNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a !== b"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"a === b"})," \xb9"]})]})]})]}),"\n",(0,s.jsxs)(d.ul,{children:["\n",(0,s.jsx)(d.li,{children:"\xb9: Only supported on StrykerJS and Stryker4s"}),"\n"]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"logical-operator",children:"Logical Operator"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"AndNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a && b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)("code",{children:"a || b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"OrNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)("code",{children:"a || b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a && b"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"NullCoalescingToAnd"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a ?? b"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a && b"})})]})]})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"method-expression",children:"Method Expression"}),"\n",(0,s.jsx)(d.p,{children:"Due to differences in language syntax, method expressions are implemented differently in each Stryker framework:"}),"\n",(0,s.jsx)(d.h3,{id:"strykerjs",children:"StrykerJS"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"EndsWithToStartsWith"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"endsWith()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"startsWith()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"StartsWithToEndsWith"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"startsWith()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"endsWith()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TrimToTrimEnd"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"trim()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"trimEnd()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TrimToTrimStart"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"trimEnd()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"trimStart()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TrimToTrimEnd"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"trimStart()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"trimEnd()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SubstrRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"substr()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SubstringRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"substring()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"UpperCaseToLowerCase"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"toUpperCase()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"toLowerCase()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LowerCaseToUpperCase"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"toLowerCase()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"toUpperCase()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LocalLowerCaseToLocalUpperCase"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"toLocalLowerCase()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"toLocalUpperCase()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LocalUpperCaseToLocalL
1owerCase"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"toLocalUpperCase()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"toLocalLowerCase()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SortRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"sort()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SomeToEvery"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"some()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"every()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"EveryToSome"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"every()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"some()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"ReverseRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"reverse()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FilterRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"filter()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SliceRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"slice()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"CharAtRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"charAt()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MinToMax"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"min()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"max()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MaxToMin"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"max()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"min()"})})]})]})]}),"\n",(0,s.jsx)(d.h3,{id:"strykernet",children:"Stryker.NET"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"DistinctRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Distinct()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"ReverseRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Reverse()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"OrderByRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"OrderBy()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"OrderByDescendingRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"OrderByDescending()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:" "})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SingleOrDefaultToFirstOrDefault"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"SingleOrDefault()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"FirstOrDefault()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FirstOrDefaultToSingleOrDefault"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"FirstOrDefault()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"SingleOrDefault()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FirstToLast"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"First()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Last()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LastToFirst"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Last()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"First()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"AllToAny"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"All()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Any()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"AnyToAll"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Any()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"All()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SkipToTake"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Skip()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Take()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TakeToSkip"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Take()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Skip()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SkipWhileToTakeWhile"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"SkipWhile()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"TakeWhile()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TakeWhileToSkipWhile"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"TakeWhile()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"SkipWhile()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MinToMax"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Min()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Max()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MaxToMin"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Max()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Min()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"SumToCount"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Sum()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Count()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"CountToSum"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Count()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Sum()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"AppendToPrepend"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Append()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Prepend()"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"PrependToAppend"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Prepend()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"Append()"})})]})]})]}),"\n",(0,s.jsx)(d.h3,{id:"stryker4s",children:"Stryker4s"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FilterNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.filter(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.filterNot(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FilterNotNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.filterNot(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.filter(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"ExistsToForAll"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.exists(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.forall(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"ForAllToExists"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.forall(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.exists(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TakeToDrop"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.take(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.drop(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"DropToTake"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.drop(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.take(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TakeRightNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.takeRight(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.dropRight(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"DropRightNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.dropRight(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.takeRight(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"TakeWhileToDropWile"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.takeWhile(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.dropWhile(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"DropWhileToTakeWhile"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.dropWhile(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.takeWhile(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"IsEmptyNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.isEmpty"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.nonEmpty"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"IsNonEmptyNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.nonEmpty"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.isEmpty"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"IndexOfToLastIndexOf"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.indexOf"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.lastIndexOf(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"LastIndexOfToIndexOf"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.lastIndexOf(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.indexOf(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MaxToMin"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.max"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.min"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MinToMax"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.min"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.max"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MaxByToMinBy"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.maxBy(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.minBy(b)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MinByToMaxBy"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.minBy(b)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a.maxBy(b)"})})]})]})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"object-literal",children:"Object literal"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsx)(d.tbody,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"ObjectPropertiesRemoval"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"{ foo: 'bar' }"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"{ }"})})]})})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"optional-chaining",children:"Optional chaining"}),"\n",(0,s.jsxs)(d.p,{children:["StrykerJS ",(0,s.jsx)(d.em,{children:"specific mutator"})]}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"OptionalMemberToRequired"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"foo?.bar"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"foo.bar"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"OptionalComputedToRequired"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"foo?.[1]"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"foo[1]"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"OptionalCallToRequired"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"foo?.()"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"foo()"})})]})]})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"regex",children:"Regex"}),"\n",(0,s.jsxs)(d.p,{children:["Regular expressions are parsed and mutated separately. This is done by recognizing ",(0,s.jsx)(d.code,{children:'new Regex("...")'})," call signatures in each language. Scala and JavaScript also have shorthand syntax, ",(0,s.jsx)(d.code,{children:"/regex/"})," and ",(0,s.jsx)(d.code,{children:'"regex".r'})," respectively, which are mutated as well."]}),"\n",(0,s.jsxs)(d.p,{children:["StrykerJS and Stryker4s use the awesome ",(0,s.jsx)(d.a,{href:"https://github.com/stryker-mutator/weapon-regex#weapon-regex",children:"\u2694 weapon-regex"})," to mutate their regular expressions. All Level 1 mutations are generated."]}),"\n",(0,s.jsx)(d.p,{children:"Strings and literals identified to a regex are mutated in the following way:"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"^abc"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"abc"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"abc$"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"abc"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"[abc]"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"[^abc]"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"[^abc]"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"[abc]"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\d"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\D"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\D"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\d"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\s"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\S"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\S"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\s"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\w"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\W"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\W"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\w"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a?"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a*"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a+"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a{1,3}"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a*?"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a+?"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a{1,3}?"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a?+"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a*+"})}),(0,s.jsx)(d.td,{chil
1dren:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a++"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a{1,3}+"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"(?=abc)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"(?!abc)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"(?!abc)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"(?=abc)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"(?<=abc)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"(?<!abc)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"(?<!abc)"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"(?<=abc)"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\p{Alpha}"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"\\P{Alpha}"})," \xb9"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\P{Alpha}"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"\\p{Alpha}"})," \xb9"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"\\P{Alpha}"})}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:"\\p{Alpha}"})," \xb9"]})]})]})]}),"\n",(0,s.jsx)(d.p,{children:"\xb9 JVM only."}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"string-literal",children:"String Literal"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FilledStringToEmpty"}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:'"foo"'})," (filled string)"]}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:'""'})," (empty string)"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"EmptyStringToFilled"}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:'""'})," (empty string)"]}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:'"Stryker was here!"'})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FilledInterpolatedStringToEmpty"}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:'s"foo ${bar}"'})," (string interpolation)"]}),(0,s.jsxs)(d.td,{children:[(0,s.jsx)(d.code,{children:'s""'})," \xb9"]})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"FilledInterpolatedStringToEmpty"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"`foo ${bar}`"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"``"})})]})]})]}),"\n",(0,s.jsxs)(d.p,{children:["\xb9 For Stryker4s, only works with string interpolation and not other types of interpolation (like ",(0,s.jsx)(d.a,{href:"https://scalameta.org/docs/trees/guide.html#with-quasiquotes",children:"Scalameta quasiquotes"}),") to avoid compile errors"]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"unary-operator",children:"Unary Operator"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"PlusNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"+a"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"-a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"MinusNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"-a"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"+a"})})]})]})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})}),"\n",(0,s.jsx)(d.h2,{id:"update-operator",children:"Update Operator"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Mutant operator"}),(0,s.jsx)(d.th,{children:"Original"}),(0,s.jsx)(d.th,{children:"Mutated"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"PostfixIncrementNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a++"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a--"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"PostfixDecrementNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a--"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"a++"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"PrefixIncrementNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"++a"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"--a"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"PrefixDecrementNegation"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"--a"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"++a"})})]})]})]}),"\n",(0,s.jsx)(d.p,{children:(0,s.jsx)(d.a,{href:"#",children:"\u{1F51D} Back to Top"})})]})}function j(e={}){let{wrapper:d}={...(0,t.R)(),...e.components};return d?(0,s.jsx)(d,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}},23191:function(e,d,r){r.d(d,{R:function(){return i},x:function(){return c}});var n=r(92990);let s={},t=n.createContext(s);function i(e){let d=n.useContext(t);return n.useMemo(function(){return"function"==typeof e?e(d):{...d,...e}},[d,e])}function c(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(t.Provider,{value:d},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.